TI 工程师:
当前做公司项目遇到一个问题,为了给公司产品增加保密性,试图用TI 产品的加密模块进行加密。但当前既有程序比较大,ebss未初始化部分必须占用SRAML0L1区域,单纯靠SRAM H0 和SRAM M0M1不能满足程序运行需求。于是就有矛盾:一旦使用加密功能,未初始化的ebss所在的0X8000 0X9000区域就无法正常运行。
查看手册看到SRAML0L1属于密码保护区,加密无法访问,如果这种情况由什么好的解决方案么?
2812内存分配如下
当下的cmd文件如下:
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MEMORY
{
PAGE 0 :
RAMM0 : origin = 0x000000, length = 0x000400
RAML1 : origin = 0x009000, length = 0x001000
CRC : origin = 0x3F0000, length = 0x000001
FLASH : origin = 0x3F0001, length = 0x007F7F
CSM_RSVD : origin = 0x3F7F80, length = 0x000076
BEGIN_FLASH : origin = 0x3F7FF6, length = 0x000002
CSM_PWL : origin = 0x3F7FF8, length = 0x000008
//BEGIN_H0 : origin = 0x3F8000, length = 0x000002
RAMH0 : origin = 0x3F8000, length = 0x002000 /*2b00*/
BOOTROM : origin = 0x3FF000, length = 0x000FC0
RESET : origin = 0x3FFFC0, length = 0x000002
PAGE 1 :
RAMM1 : origin = 0x000400, length = 0x000480
RAML0 : origin = 0x008000, length = 0x001000
}
map文件如下
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
PAGE 0:
RAMM0 00000000 00000400 00000000 00000400 RWIX
RAML1 00009000 00001000 00000b0d 000004f3 RWIX
CRC 003f0000 00000001 00000001 00000000 RWIX
FLASH 003f0001 00007f7f 00002f52 0000502d RWIX
CSM_RSVD 003f7f80 00000076 00000076 00000000 RWIX
BEGIN_FLASH 003f7ff6 00000002 00000002 00000000 RWIX
CSM_PWL 003f7ff8 00000008 00000008 00000000 RWIX
RAMH0 003f8000 00002000 0000192d 000006d3 RWIX
BOOTROM 003ff000 00000fc0 00000000 00000fc0 RWIX
RESET 003fffc0 00000002 00000000 00000002 RWIX
PAGE 1:
RAMM1 00000400 00000480 00000386 000000fa RWIX
DEV_EMU 00000880 00000180 000000d6 000000aa RWIX
FLASH_REGS 00000a80 00000060 00000000 00000060 RWIX
CSM 00000ae0 00000010 00000000 00000010 RWIX