硬汉嵌入式论坛

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

[MDK] 关于图片数组存分散加载,通过下载算法到外部的SPI FLASH问题

[复制链接]

0

主题

0

回帖

0

积分

新手上路

积分
0
发表于 2025-3-17 23:32:34 | 显示全部楼层 |阅读模式
本帖最后由 hua88 于 2025-3-17 23:50 编辑

目前这一方面的知识不太理解,找了很多例子也没有实现效果,目前图片数组指定地址的方式是可以的,可是当有大量的图片数组的时候,地址指定不好做,所以才想着用同一个section,数据好处理一点,请大佬们看看怎么样才能实现

1、相关的软件版本: MKD:5.38
2、分别做了以下的实验,方法一可行,方法二不可行


方法一可行:
数组定义:
const unsigned char picture_bao_64_64_data[8192] __attribute__((at(0xC0000000))) ={ 0x00......}
加载文件:

LR_IROM1 0x08000000 0x00020000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00020000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
   .ANY (+XO)
  }
  RW_IRAM1 0x20000000 0x00009000  {  ; RW data
   .ANY (+RW +ZI)
  }
}


方法二:不可行
数组定义:
const unsigned char picture_bao_64_64_data[8192] __attribute__((section(".ExtFlashSection")))  ={ 0x00......}

加载文件:

LR_IROM1 0x08000000 0x00020000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00020000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
   .ANY (+XO)
  }
  RW_IRAM1 0x20000000 0x00009000  {  ; RW data
   .ANY (+RW +ZI)
  }
}



LR_EROM1 0xC00000000 0x00800000{    ; load region size_region
  ER_EROM1 0xC0000000 0x00800000{  ; load address = execution address

  *(.ExtFlashSection)
}
}



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-3-18 07:55:47 | 显示全部楼层
图片多的时候,推荐合并下,合并成一个。

用 C++ Builder XE7 开发的 文件合并助手。用来合并图片,字库等文件非常方便(2021-04-25升级至V0.3)
https://forum.anfulai.cn/forum.p ... 8627&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

3

主题

90

回帖

99

积分

初级会员

积分
99
发表于 2025-3-18 14:22:18 | 显示全部楼层
方法2应该是可行的。所谓不可行是怎么个结果?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 03:42 , Processed in 0.041681 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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