请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AM3358 你(们)好
我注意到在读取 范围内的任何地址内容时出现问题
存储器映射 i2c-2通道(0x4819c000 - 0x4819d000)的说明。 为了本地化此问题、我修改了其中一个裸片
来自 AM335x StarterWare 的金属示例。
实际上、我要做的是:
125. /*初始化控制台以与主机进行通信*/
126. ConsoleUtilsInit();
127.
128 /*根据编译时间检查选择控制台类型*/
129. 控制台 UtilsSetType (console_UART);
130
131. /*在 CPSR 中启用 IRQ */
132. IntMasterIRQEnable();
133.
134. /*将 AINTC 配置为生成中断*/
135. I2CAINTCConfigure();
136.
137. 无符号长整型 PA = 0x4818C000;
138. 控制台 UtilsPrintf ("addr %x\n"、PA);
139. ConsoleUtilsPrintf ("读取%x\n"、*((volatile unsigned long *) pa");
140 PA = 0x4819C000;
141. 控制台 UtilsPrintf ("addr %x\n"、PA);
142. ConsoleUtilsPrintf ("读取%x\n"、*((volatile unsigned long *) pa");
我看到的是什么
##正在启动应用程序,地址为0x8000000000...
地址4818c000
读取50461100
地址4819c000
因为异常不是配置为挂起的。 我尝试基于 MMU 的代码时
使用配置的异常从0x4819c000 - 0x4819d000范围内的地址读取数据
为我提供数据中止异常。 为什么?