找回密码
 注册
关于网站域名变更的通知
查看: 340|回复: 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中。
    3 u' `) o9 ^" H8 v- j现在有一个超大数组:
    " f) v) P' C, \uint16_t   databuffer[240][320],
    0 T( T0 i$ k1 }( R
    & e, Z  E- X9 X" c: C这个数组有240x320=76800个元素,然后占用空间76800x16bit=153KB, 可谓是相当大了,我如何把这个大数组存放到FLASH中呢?
    ; C/ a" O! F6 \8 S
    , }/ [3 L" O; P; G这么大的数组怎么给他赋初值?不可能用大括号的方式,databuffer[240][320]={0xFFFF, 0x32A3........},  7万多个数据,写到猴年马月也写不完啊。
    9 g7 o( X7 Y9 }1 B/ [2 W
    * u* E5 j3 S; y2 ^/ `8 m$ D8 w如果我加关键字const uint16_t   databuffer[240][320] 的方式,可以让他保存在FLASH中,但是没法先赋初值,如果我用for循环赋值,倒是很快,可是就没法加const保存到FLASH中了。& d8 Z6 t) ?' ]$ b- @# d5 k
    5 h# ]& N$ i1 V0 R
    谁能解决这个矛盾?
    2 I; z: r/ w$ n5 u

    该用户从未签到

    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?
    1 C8 R  @; r' r2 G/ t0 T  l" g利用这些来源生成一个. _* `' G- f: K8 H! u1 ~: l
    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不知道
    % @) {4 g6 r# [1 v$ t3 B5 v9 ^% M在FLASH开辟某个地址,比如0000H存放一个标志位
    + o9 {$ F3 z8 q2 Q* ?程序启动先读取这个标志位,如果没有标志,就用for循环写入FLASH,写完之后置位标志位并保存,这样,这你所谓的7万多个数据就保存在FLASH了
    # c6 d+ k2 H$ C9 p如果已经标志了,就不用写入了,跳过写入这一步
    6 a. I$ V7 I& }. z; Q0 @下一步就是读取FLASH中的数据,初始化LCD
    % B  M, l& u) l/ R% u这样就达到了每次开机都能通过读取FLASH来完成初始化了4 c: B7 w: ^5 g1 ^0 l$ P* Q
    不知道这行不行得通
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-9-11 08:14 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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