GD32 怎样把代码放到flash的固定地址

[复制链接]
2477|4
 楼主| verdi_lam 发表于 2017-9-18 15:18 | 显示全部楼层 |阅读模式
各位大家好?

请教一下有没有高手试过将 一段代码放到一个制定的地址,谢谢!
 楼主| verdi_lam 发表于 2017-9-18 15:19 | 显示全部楼层
我用的编译器是KEIL5.0
aozima 发表于 2017-9-18 16:19 | 显示全部楼层
本帖最后由 aozima 于 2017-9-18 16:20 编辑

学会写链接脚本,所有芯片通用。

特别是针对GD32这种,后面有1片慢速FLASH的情况。
都把静态资源放后面去。

比如我这个 130G8的 bootloader,使用最前面1K,和后末尾的慢速7K。慢速7K的执行速度慢,所以又加载到RAM中支持。
下面是KEIL MDK 的链接脚本 GD32F130_bootloader.sct

  1. ; *************************************************************
  2. ; *** Scatter-Loading Description File generated by uVision ***
  3. ; *************************************************************

  4. ; GD32F130x8: FLASH 32KB + 32KB(慢速,且不能用于ISR入口地址)
  5. ; bootloader 使用最开头的1KB和最后面的11KB。

  6. ; load      region                size_region
  7. LR_IROM1    0x08000000         (1024 * 1)
  8. {
  9.     ; load address = execution address
  10.     ER_IROM1 0x08000000                (1024 * 1)
  11.     {
  12.         *.o (RESET, +First)
  13.         *(InRoot$Sections)

  14.         stm32f0xx_it.o(+RO)

  15.         flash_if.o(+RO)
  16.         stm32f0xx_hal_flash.o(+RO)
  17.     }
  18. }

  19. ; load      region                          size_region
  20. LR_IROM2    (0x08000000 + 1024 * 64 - 1024 * 7)            (1024 * 7)
  21. {
  22.     ; load address = execution address
  23.     ER_IROM2    (0x08000000 + 1024 * 64 - 1024 * 7)    (1024 * 7)
  24.     {
  25.         .ANY (+RO)
  26.     }

  27.     ; RW data
  28.     RW_IRAM1 0x20000000 (1024 * 8 - 32)
  29.     {
  30.         crc32.o(*)
  31.         usart.o(*)
  32.         common.o(*)
  33.         ymodem.o(*)
  34.         fw.o(*)

  35.         stm32f0xx_hal_uart.o(*)
  36.         stm32f0xx_hal_flash_ex.o(*)

  37.         .ANY (+RW +ZI)
  38.     }
  39. }

Houtz 发表于 2017-9-19 16:54 | 显示全部楼层
可以使用分散加散的方式,请查看附件。有问题可联系GD32技术FAE,QQ375880228
https://bbs.21ic.com/forum.php?mod=attachment&aid=OTE0OTIyfDYxZDA5ZWIyfDE3NTg0Mzg5Mjl8MHw%3D
 楼主| verdi_lam 发表于 2017-9-21 23:54 | 显示全部楼层
试了一下,方法是可以的,谢谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部