找回密码
 注册
关于网站域名变更的通知
查看: 357|回复: 3
打印 上一主题 下一主题

C语言如何把一个超大数组赋值后存放到FLASH中?

[复制链接]
  • TA的每日心情
    奋斗
    2022-1-21 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-7-28 11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    我的FLASH空间比较大,有512K,RAM空间也比较大,接近200K,但是RAM由于还要做其他用途,所以现在需要把一个超大数组保存到FLASH中。- O$ x% C( |7 t: Z- a
    现在有一个超大数组:, O3 x. z0 T! A! ^2 t  `
    uint16_t   databuffer[240][320],
    * |! t5 E: k2 M0 J" Y7 q1 }. v3 C6 L; Z- G$ b/ `! e+ C0 z# C
    这个数组有240x320=76800个元素,然后占用空间76800x16bit=153KB, 可谓是相当大了,我如何把这个大数组存放到FLASH中呢?
    , C$ m- o+ m& ~& G5 Q# ~/ n: q5 j8 H+ E* S- Z3 \7 k5 R1 q
    这么大的数组怎么给他赋初值?不可能用大括号的方式,databuffer[240][320]={0xFFFF, 0x32A3........},  7万多个数据,写到猴年马月也写不完啊。7 J  ~; X+ R- U3 f. _, A

    6 A1 Z6 D. P/ c! ?如果我加关键字const uint16_t   databuffer[240][320] 的方式,可以让他保存在FLASH中,但是没法先赋初值,如果我用for循环赋值,倒是很快,可是就没法加const保存到FLASH中了。
    - L* p5 o$ {8 M' q3 y. f: i; {- s/ \5 O% S- `3 R) \3 ^
    谁能解决这个矛盾?2 v3 w( }8 b7 ~3 }4 ]5 N9 x; M) ?

    该用户从未签到

    2#
    发表于 2022-7-28 13:15 | 只看该作者
    编程时数组直接赋值放FLASH中。
  • TA的每日心情
    慵懒
    2022-1-21 15:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-7-28 13:22 | 只看该作者
    你的7万多个数据是有来源的吧?Excel?SQL?CSV?  S9 s# k) G" J/ U1 S. q
    利用这些来源生成一个* O$ G; V; D8 I( u3 ^) Q
    uint16_t code databuffer[240][320] = {......};储存到DtatTable.h内就可以了
  • TA的每日心情
    开心
    2022-1-21 15:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-7-28 13:27 | 只看该作者
    能用for循环直接赋值,这个数据是固定的吗?或者是有规律的?不知道这是什么意思,没有用过LCD不知道
    - r, B4 m/ T2 p在FLASH开辟某个地址,比如0000H存放一个标志位
    7 Z4 z+ n3 \+ x5 W( j+ x程序启动先读取这个标志位,如果没有标志,就用for循环写入FLASH,写完之后置位标志位并保存,这样,这你所谓的7万多个数据就保存在FLASH了
    3 \! N4 p  y7 J4 A2 ~: g, }如果已经标志了,就不用写入了,跳过写入这一步
    . o& i/ M7 A& t& C6 D6 r5 Y& m7 p下一步就是读取FLASH中的数据,初始化LCD8 a* q' ?: C* {. G- P$ H( e! ]9 h) F
    这样就达到了每次开机都能通过读取FLASH来完成初始化了" \+ W+ s% X! O& M: N, E& R& Y
    不知道这行不行得通
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-8 18:29 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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