This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3358:寄存器读取时 u-boot 数据中止

Guru**** 2555630 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/590504/am3358-u-boot-data-abort-on-register-read

器件型号:AM3358
Thread 中讨论的其他器件:SysConfig

您好!

为了启用 PWM、我在 u-boot 中向 PWM 寄存器添加了几条读取/写入指令。 但是、当我运行以下代码时、我有数据中止:

#include
#include

#define PWMSS2_base         0x48304000
#define PWMS_EPWMCLK_EN    位(8)

/* PWMSS (来自 arch/arm/include/asm/arch-am33xx/CPU)*/
struct pwmss_regs{
    unsigned int idver;
    unsigned int SysConfig;
    unsigned int clkconfig;
    unsigned int clkstatus;
};


静态 int enable_PWM (void)
U16 val;
struct pwmss_regs * pwmss =(struct pwmss_regs *) PWMSS2_base;

PUT ("PWM:读取...\n");
Val = readw (&pwms->clkconfig);

PUT ("PWM:写入...\n");
writew (val | PWMSS_EPWMCLK_EN,&pwms->clkconfig);

/*--一些其他的东西--*/


输出:
U-Boot SPL 2013.11-g91321e5脏污(2017年4月21日- 13:55:44)

U-Boot 2013.11-g91321e5-脏(2017年4月21日- 13:55:44)

I2C:就绪
DRAM:512 MiB
NAND:512 MiB
MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
使用默认环境

PWM:读取...
数据中止

也许您应该阅读 doc/README.arm-unaligned 访问

PC:[<9ff8130>] LR:[<9ff813fc>]
SP:9fb60f00 IP:9ffb85b4 FP:80810fa4
R10:8082dadb R9:9fb60f38 R8:4030cdcc
R7:4030cb7c R6:00000002 R5:00028bac R4:48304000
r3:9ffa094c r2:00000001 r1:00000100 r0:48304000
标志:模式 SVC_32上 nZCv IRQ 关闭 FIQ
正在重置 CPU ...

同时、我尝试访问寄存器 I2C、并且在运行以下代码后未出现错误:
静态 int i2c_test_read (void)
    struct i2c * i2c_base =(struct i2c *) I2C_DEFAULT_BASE;

    readw(&i2c_base->stat);

    PUT ("i2c 读取正常\n");

请告诉我出错了

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    必须首先在 CM_PER_EPWMSS2_CLKCTRL 寄存器中启用模块。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢、这解决了我的问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、这对我有所帮助。