硬件环境:CPU 2292 , 外扩SDRAM 4MByte , NAND Flash 256MBye, USB 1161A1主控芯片,SED13506液晶屏接口. 65000色触摸屏
系统上电后, bootloader先运行,完成必要的系统初始化.主要内容:
1.设置片内FLASH启动
2,初始化SED13506 以便能显示必要信息提示
3,初始化uC/OS --uc/gui -- uc/fs 以便能识别NAND的文件分区
4,初始化USB 1161A1 以便能通过USB传文件
然后,在检测触摸屏右下角,如果被按下超过1秒钟. 则执行步骤1: 主要内容有
读U盘,把U盘中固定目录下的文件(例如: \system\exefile\ xxx.hex) 复制到系统目录下(C:\system\) 如果重名 直接覆盖.
然后执行步骤2 主要内容有
1,读取C:\system\xxx.hex 文件 然后按照顺序依次写入到片外RAM中 地址从0x80000000 开始
2,修改REMAP 把映射地址改成片外RAM 以便中断能够正常运行.
3,直接跳到0x80000000地址 开始运行程序xxx.hex
注意: xxx.hex是用ADS编译出来的 用周立功提供分散加载文件 把程序直接定位到片外RAM中
bootloader 也是用ADS编译的 也用周立功的分散加载文件 把他定位在片内FLASH中
这样做的好处
1: 可以对很大的程序进行加密 最大可运行的程序大小可达到ROM+RAM可达4M Bootloader 是写在片内的 就算可以把xxx.hex读出来也没用.目前LPC2292破解费用在10万 还不一定能破成功.
2: 在嵌入uC/OS 和uc/GUI后 开发将很方便.
3:用户升级也更加方便 比IAP还方便啊
本人目前正在做这方面的工作. 请大家提出是否可行? 或者直接上ARM9 跑LINIX更容易
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |