怎么在D-Flash/EEPROM中加载初始化的变量

由于在暑假匆忙接收的嵌入式项目中需要使用特别大的数组,非分页ram的内存不够用了,没办法,硬着头皮尝试使用分页ram,但是完全没有单片机的基础,导致极其的困难。之前写程序都是按照纯软件的思维,主要考虑架构,不会考虑到每个变量具体存在哪个物理地址这么底层的问题,结果被飞思卡尔这分页地址、prm文件什么的搞得一头雾水,而网上的资料又少,讲的又大同小异的笼统,最后写出来的程序因为这分页地址的原因存在各种问题(还以为把变量放到分页ram了,结果现在稍微懂了点回去看,发现其实很多根本还是分配在非分页区。晕倒~。但是居然还能相对正常运行也是很神奇)。这些天各种找相关的资料,结果发现在codewarrior的官方文档资料里其实把我想知道的都讲的很清楚了(还是官方文档给力,以后学什么东西直接找官方文档,不去到处找网上一堆零零散散的资源来学了)。本着学习的态度,将逐步把官方文档翻译一遍,供大家一起交流学习进步。
s12p、s12xex、s12xs版本的hi-wave中的d-flash编程支持。
这个文档描述了怎么在d-flash/eeprom中加载初始化的变量。这个特性只用于large地址模型。
用于下列设备的flash编程算法包含对这些区域的编程支持。为了有效率的使用它,需要调整项目。
这篇文档解释了怎么调整项目以使能编程d-flash。
支持的设备
这个特性用于以下设备:
s12xep100
s12xep768
s12xeq512
s12xeq384
s12xeg384
s12xes384
s12xet256
s12xea256
s12xeg128
s12xea128
s12xs256
s12xs128
s12xs64
s12p128
s12p96
s12p64
s12p32
调整项目
可能需要调整项目配置以使能编程支持,这与在链接器配置文件和(当如果需要加载s-record格式数据时)烧写器命令文件中的内存区域定义有关。
prm文件
prm文件需要在满足以下前提下定义d-flash区域:
d-flash segments应该使用24位逻辑地址定义。
比如,应该在s12xep100的prm文件segment列表中包含d-flash定义:
eeprom_00 = read_only0x000800to0x000bff; eeprom_01 = read_only0x010800to0x010bff; eeprom_02 = read_only0x020800to0x020bff;...eeprom_1f = read_only0x1f0800to0x1f0bff;
应该在placement列表中把常量放到d-flash中,比如:
/* constant variables */rom_varintoeeprom_00, eeprom_01, eeprom_1f; myseg0intoeeprom_02; s-record生成
取决于你的应用要干什么,可能你需要加载s-record文件,在这种情况下,你可能需要调整烧写器脚本文件(burner.bbl)以包含需要的区域到生成的s19镜像中。下面是s12xep100 .bbl文件的片段:
.../* logical banked d-flash to logical */ len =0x000400origin =0x000800destination =0x000800sendbyte1%abs_file%origin =0x010800destination =0x010800sendbyte1%abs_file%origin =0x020800destination =0x020800sendbyte1%abs_file%...origin =0x1f0800destination =0x1f0800sendbyte1%abs_file%...调试
在调试时,可以在connection菜单的flash菜单项中找到擦除d-flash区域的选项(connection的名字是和当前使用的链接一致的)。

三星讲解红米AMOLED屏幕:最低蓝光比例仅为LCD的三分之一
T3出行首创V.D.R安全防护系统
下午发布的荣耀V9将更名荣耀8 Pro亮相MWC
奖员工3万搬迁费 小米“南飞”真相:深化武汉南京两大中心
智能家居使用IoTwebOS:物联网与浏览器的完美结合!
怎么在D-Flash/EEPROM中加载初始化的变量
关于并网光伏逆变器的基本设计
索尼首席执行官表示不会拆分图像传感器业务
对于电动汽车的电池更换,我们该如何判断
鲲游光电AR衍射光波导产品助力MYVU智能眼镜全面量产
台积电:美日德三厂本质不同不可比较
捷豹F-Pace展开一项名为GLOSA的V2X功能测试
Wi-Fi 7 和 Matter 即将获批:必须了解的知识
Zytronic为小屏幕带来了多点触控功能
目前人工智能落地场景仍十分有限 企业的AI渗透率只有4%
HAMR-JR微型机器人世上速度最快的机器人
3700系列多通道数据采集解决方案的性能特点和应用
鸿蒙星河版亮相,满天星光终汇成璀璨星河
多链宇宙将如何解决区块链缩放问题
【重要】第四届深圳国际半导体展会延期通知