硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1470|回复: 10
收起左侧

[有问必答] 请教keil的分散加载文件如何将一个flash区分成两个使用

[复制链接]

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
发表于 2021-10-20 13:21:01 | 显示全部楼层 |阅读模式
硬汉哥
原来的分散加载是
  1. LR_IROM1 0x08000000 0x00080000  {    ; load region size_region
  2.   ER_IROM1 0x08000000 0x00080000  {  ; load address = execution address
  3.    *.o (RESET, +First)
  4.    *(InRoot$Sections)
  5.    .ANY (+RO)
  6.    .ANY (+XO)
  7.   }
  8.   
  9.   ;RW_IRAM1 48K, for application
  10.   RW_IRAM1 0x20000000 0x0000c000  {  ; RW data
  11.    .ANY (+RW +ZI)
  12.   }

  13.   ;RW_IRAM2 16K,for init function
  14.   RW_IRAM2 0x2000c000 0x00004000  {  ; RW data
  15.    *.o(RAMCODE)
  16.   }
  17. }
复制代码
我想把RAMCODE放到flash中,应该如何操作呢??
谢谢!
回复

使用道具 举报

1

主题

35

回帖

38

积分

新手上路

积分
38
发表于 2021-10-20 18:07:05 | 显示全部楼层
LR_IROM1 0x08000000 0x00080000  {    ; load region size_region
  ER_IROM1 0x08000000 0x0007c000  {  ; load address = execution address
        *.o (RESET, +First)
        *(InRoot$Sections)
        .ANY (+RO)
        .ANY (+XO)
  }
  ER_IROM2 0x0807c000 0x00004000 {        ;RW_IRAM2 16K,for init function
        *.o(RAMCODE)
  }
  
  ;RW_IRAM1 48+16K, for application
  RW_IRAM1 0x20000000 0x00010000  {  ; RW data
        .ANY (+RW +ZI)
  }
}
个人理解啊,如果错误,望指正
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106437
QQ
发表于 2021-10-21 12:21:48 | 显示全部楼层
yaq 发表于 2021-10-20 18:07
LR_IROM1 0x08000000 0x00080000  {    ; load region size_region
  ER_IROM1 0x08000000 0x0007c000  {  ...

可行,

也可以鼠标右击这个RAMCODE的C文件设置,不使用分散加载文件,也很方便。

回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
 楼主| 发表于 2021-10-21 19:48:38 | 显示全部楼层
eric2013 发表于 2021-10-21 12:21
可行,

也可以鼠标右击这个RAMCODE的C文件设置,不使用分散加载文件,也很方便。

这个RAMCODE不是c文件,是一个定义的段
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
 楼主| 发表于 2021-10-21 19:48:56 | 显示全部楼层
yaq 发表于 2021-10-20 18:07
LR_IROM1 0x08000000 0x00080000  {    ; load region size_region
  ER_IROM1 0x08000000 0x0007c000  {  ...

谢谢大佬~我试试看
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
 楼主| 发表于 2021-10-21 19:54:30 | 显示全部楼层
  1. Build started: Project: MODULE_INIT
  2. *** Using Compiler 'V6.16', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
  3. Build target 'AC6'
  4. creating preprocessor file for module1.c...
  5. creating preprocessor file for log.c...
  6. creating preprocessor file for main.c...
  7. creating preprocessor file for module2.c...
  8. creating preprocessor file for misc.c...
  9. creating preprocessor file for module3.c...
  10. creating preprocessor file for stm32f10x_gpio.c...
  11. creating preprocessor file for stm32f10x_rcc.c...
  12. creating preprocessor file for stm32f10x_usart.c...
  13. creating preprocessor file for system_stm32f10x.c...
  14. linking...
  15. .\Objects\MODULE_INIT.axf: Error: L6218E: Undefined symbol Image$RW_IRAM2$Base (referred from main.o).
  16. .\Objects\MODULE_INIT.axf: Error: L6218E: Undefined symbol Image$RW_IRAM2$Limit (referred from main.o).
  17. Not enough information to list load addresses in the image map.
  18. Finished: 1 information, 0 warning and 2 error messages.
  19. ".\Objects\MODULE_INIT.axf" - 2 Error(s), 0 Warning(s).
  20. Target not created.
  21. Build Time Elapsed:  00:00:02
复制代码
大佬试了报错
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
 楼主| 发表于 2021-10-21 19:55:36 | 显示全部楼层
硬汉哥,为啥上传不了附件??工程想上传也不行
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106437
QQ
发表于 2021-10-22 02:10:58 | 显示全部楼层
wdliming 发表于 2021-10-21 19:55
硬汉哥,为啥上传不了附件??工程想上传也不行

工程略大的话,上传到百度云分享下。
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
 楼主| 发表于 2021-10-22 08:53:11 | 显示全部楼层
module_init.7z (1.46 MB, 下载次数: 3)
上传好了,硬汉哥帮忙看看,谢谢!!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106437
QQ
发表于 2021-10-23 09:14:46 | 显示全部楼层
wdliming 发表于 2021-10-22 08:53
上传好了,硬汉哥帮忙看看,谢谢!!

你的分散加载里面没有定义RW_IRAM2
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
 楼主| 发表于 2021-10-23 11:16:41 | 显示全部楼层
eric2013 发表于 2021-10-23 09:14
你的分散加载里面没有定义RW_IRAM2

请问怎么改呢,麻烦硬汉哥指点下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-20 16:04 , Processed in 0.275301 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表