器件型号: AM6422
我使用 CCS v12、MCU SDK+ AM64X v 11_02_00_24。
我使用示例工程“open-pru\examples\empty_c"作为“作为起点。 当我构建 TMDS64VM 并加载到我时、它会按预期工作。
我在工程中手动添加一个新代码文件以扩展功能、并在生成的二进制文件中的“main"之前“之前添加了新代码文件、导致程序在新代码文件而不是 main 处错误地开始执行。 [从下面显示的映射文件中的“PRU_SetupFrameTimer"开始“开始。] 如何强制 main 返回到程序入口点?
由此产生的存储器映射:
段分配映射
输出 Attributes/
段 页 原点 长度 输入段
----- ------------------------ ----- ------------------------
.text 0 00000000 000001f4
00000000 000000dc PRU_Timer.obj (.text:PRU_SetupFrameTimer)
000000dc 00000084 main.obj (.text:main)
00000160 00000070 PRU_TaskManager.obj (.text:PRU_SetupTaskMgr)
000001d0 00000024 PRU_TaskManager.obj (.text:TestFunction)
.data 1 00000000 0000001d
00000000 00000010 main.obj (.data)
00000010 00000008 PRU_Timer.obj (.data:ui64IEP0Cmp0Count)
00000018 00000004 PRU_TaskManager.obj (.data)
0000001c 00000001 PRU_Timer.obj (.data)
.cinit 1 00000000 00000000 未初始化
...
全局符号:按名称按字母顺序排序
页面 地址 名称
----- -----
0 00000000 PRU_SetupFrameTimer
0 00000160 PRU_SetupTaskMgr
0 000001d0 TestFunction
ABS 00033000 __PRU_CREG_BASE_MII_G_RT
ABS 00032400 __PRU_CREG_BASE_MII_MDIO
ABS 00032000 __PRU_CREG_BASE_MII_RT
...
ABS 0000001f _PRU_CREG_RSVD31
ABS 0000000A __PRU_CREG_TM_CFG_PRU1
ABS ffffffff __c_args__
1 00000008 帧
1 00000018 帧计数
0 000000dc 主电源
1 0000000c 共享 RAM
1 00000000 步长
1 00000010 ui64IEP0Cmp0Count
1 0000001c ui8IEP0Cmp0 启动器
1 00000004 等待