主题中讨论的其他器件: C2000WARE、 CCStudio
我在 TMS320F28377S 上致力于 CLA 的功能证明。 嗯、可以肯定它可以正常工作、但在我们的代码库中演示它可以正常工作是个问题。
我使用的是 MathWorks 示例 c28377Splink_CLA、该示例将 CLA 代码作为原型生成。 我修改了 MathWorks 示例、使其更加简单。
最后、我有一个来自代码生成器的.cla 和.c 文件。 使用 MathWorks 链接器控制文件、我添加了代码并修改了现有的链接器控制文件。
在闪存中:
Cla1funcsLoadStart
75D0 8100 74C0 00F4 7AC0 810C 7590 003C 7BC0 003D 7BC0 003C 7B40 003D 7B80 003C 7BC0 003C 7B80
0004 7F20 0000 7FA0 0000 7FA0 0000 7FA0 0024 7981 0000 7FA0 0000 7FA0 0000 7FA0 0000 7FA0 8106 7580 0000
7841 003C 7BC0 003C 7B80 0004 7F20 0000 7FA0 0000 7FA0 0000 7FA0 0008 7981 0000 7FA0 0000 7FA0
0000 7FA0 8106 7580 810C 75C0 4502 7841 8100 73C0 3000 7881 0004 7C20 8102 74C0 8100 73C0 4502
7841 00F0 7A80 3000 7881 0004 7C20 8104 74C0 0000 7842 406B 7580 0000 7841 FFFF 7882 0004 7C60
8102 73D0 0005 7EA0 0019 7C60 0004 7C80 406B 75C0 0000 7842 0000 7841 FFFF 7882 416B 7580 0004
7C60 8104 73D0 0005 7EA0 0019 7C60 0004 7C80 416B 75C0 0000 79AF 0000 7FA0 0000 7FA0 0000 7FA0 0000 7FA0
8108 73C0 1480 74C0 3842 7841 1502 73C0 2E45 7881 0004 7C00 40C9 7841 0FDB 7881 810A 0110 0004
7C20 8102 74C0 06D8 799F 0000 7FA0 0000 7FA0 0000 7FA0 0000 7D80 8100 74C0 40C9 7840 8102 73D0
0FDB 7880 0001 7D00 0000 7FA0 0000 7FA0 0000 7FA0 0018 7984 0000 7FA0 0000 7FA0 0000 7FA0 0000 7FA0 40C9
7840 0FDB 7880 0004 7C40 810A 74C0 000c 798E 0000 7FA0 0000 7FA0 0000 7FA0 00F4 7AC0 810A 74C0
0000 7841 8108 73C0 0001 7881 0004 7CC0 8108 74C0 0000 7FA0 0000 7FA0 0000 7FA0 0000 7FA0 0000 7F80
C$SW5、Cla1funcsLoadEnd
I LS 05 RAM: 未加载。
Cla1funcsRunStart、HAL_MODEG_fnProcess、c
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000
C$L1
0000 0000 0000 0000 0000
C$L2
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Cla1Task1、c
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
C$L1
链接器命令文件:
RAMLS_CLA_PROG :origin = 0x00A800,length = 0x000800
/*控制律加速器(CLA)程序代码部分*/
Cla1Prog :load = flash_code,
运行= RAMLS_CLA_PROG、
load_start (_Cla1funcsLoadStart)、
load_end (_Cla1funcsLoadEnd)、
run_start (_Cla1funcsRunStart)、
load_size (_Cla1funcsLoadSize)、
PAGE = 0、ALIGN (4)
相关的 GEL 文件行
*(int *) 0x5F432 =0x003F; /* LS0..LS5 存储器的 RAM 初始 化*
/*程序内存映射*/ GEL_MapAddStr (0x000080000、0x800、"R|W|AS2"、0); /* LS0 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x00008800、0、0x800、"R|W|AS2"、0); /* LS1 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x000090000、0x800、"R|W|AS2"、0); /* LS2 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x00009800、0、0x800、"R|W|AS2"、0); /* LS3 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x0000A0000、0x800、"R|W|AS2"、0); /* LS4 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x0000A800、0、0x800、"R|W|AS2"、0); /* LS5 RAM (带奇偶校验)(4KB) * /*数据存储器映射*/ GEL_MapAddStr (0x000080001、0x800、"R|W|AS2"、0); /* LS0 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x00008800、1、0x800、"R|W|AS2"、0); /* LS1 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x000090001、0x800、"R|W|AS2"、0); /* LS2 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x00009800、1、0x800、"R|W|AS2"、0); /* LS3 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x0000A0001、0x800、"R|W|AS2"、0); /* LS4 RAM (带奇偶校验)(4KB) * GEL_MapAddStr (0x0000A800、1、0x800、"R|W|AS2"、0); /* LS5 RAM (带奇偶校验)(4KB) *
有什么意见?
GEL 命令是否可以阻止某些内容?
谢谢