[应用方案] N76E003 ISP 串口 115200 LDROM 2K

[复制链接]
354|8
 楼主 | 2018-11-2 23:24 | 显示全部楼层 |阅读模式
本帖最后由 jeffj 于 2018-11-8 17:43 编辑

ISP上位机烧录工具第一版(支持.bin文件)。
17:31 2018/11/8

========================
大家好,分享一个串口ISP固件。
配置字选项:
    1) 启动选项, 选择LDROM
    2) LDROM大小, 选择2KB

工作原理:
    上电复位后检测P30管脚状态,如果为低电平,进入LDROM执行isp命令(命令在下面公布,上位机测试程序待写好后也会公布)。
    如果P30管脚没被人为拉低,则直接执行用户程序。所以,如果想更新程序,就把P30拉到地,然后手动复位(复位后即可断开P30和地之间的连接,以防无法执行用户程序),此时即可更新用户程序。
    更新成功后,可以使用命令跳转到用户程序,或者手动按复位键。

命令详解:
    1) 写配置字节:  0x03, config0, config1, config2, config4, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX(此字节为校验字节,用0xFF减去前19个字节之和,下同)
        例: 0x03, 0x01, 0x01, 0x01,  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8

    2) 跳转用户程序(P30不要接地):  0x04, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX
        例:0x04, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB

    3) 擦除APROM页(128bytes/page): 0x05, add_H, add_L, 0x00,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xXX
        例:0x05, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA (擦除第一页)
        例:0x05, 0x00, 0x80, 0x00,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A (擦除第二页)

    4) 写APROM: 0x06, add_H, add_L, D0,  D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, 0xXX (一条命令最多可写16个字节,不足16个字节用0xFF补足16个字节)
        例:0x06, 0x00, 0x03, 0x8F, 0x0B, 0x8E, 0x0A, 0x8D, 0x09, 0x8C, 0x08, 0xE4, 0xFF, 0xFE, 0xFD, 0xFC, 0xAB, 0x0B, 0xAA, 0xB5 (写0x0003起始的16个字节)        例:0x06, 0x00, 0x33, 0xFF, 0xF5, 0x08, 0x80, 0xD3, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4 (写0x0033起始的6个字节,0x0039至0x0042未被写入数据)

    5) 读APROM: 0x07, add_H, add_L, D0,  D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, 0xXX (一条命令读16个字节,注意到APROM结尾不要读越界)
        例:0x07, 0x00, 0x03, 0x8F, 0x0B, 0x8E, 0x0A, 0x8D, 0x09, 0x8C, 0x08, 0xE4, 0xFF, 0xFE, 0xFD, 0xFC, 0xAB, 0x0B, 0xAA, 0xB4 (读0x0003起始的16个字节)                       0x07, 0x00, 0x03, D0,  D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, 0xXX (返回值)

如果有什么问题,请反馈给我。



本帖子中包含更多资源

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

x
| 2018-11-3 08:01 | 显示全部楼层
支持下!
| 2018-11-3 13:40 | 显示全部楼层
两个文件如何搞成一个文件是有讲究的吗
| 2018-11-3 14:18 | 显示全部楼层
多谢分享
 楼主 | 2018-11-3 14:21 | 显示全部楼层
598330983 发表于 2018-11-3 13:40
两个文件如何搞成一个文件是有讲究的吗

它和你的程序是独立的,不用合成一个文件。这个是LDROM里的程序,用NuMicro ICP Programming Tool把这个固件烧到LDROM,可以通过串口和LDROM中的固件通信,将你写的程序下载到APROM中运行。
| 2018-11-3 18:34 | 显示全部楼层
默认的就是2K吧。
 楼主 | 2018-11-3 18:51 | 显示全部楼层
734774645 发表于 2018-11-3 18:34
默认的就是2K吧。

芯片出厂默认为LDROM无,APROM 18K字节。LDROM可以设为4K, 3K, 2K, 1K 或者不用LDROM。片上flash有18K要,LDROM用的越少分给用户应用程序的APROM空间就越多。
| 2018-11-4 19:05 | 显示全部楼层
支持一个,点赞。
 楼主 | 2018-11-8 17:37 | 显示全部楼层
上位机烧写工具测试。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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