找回密码
 立即注册
查看: 4840|回复: 30

如何把自己的用户区ISP固件和自己的用户区AP固件进行合并供工厂量产使用

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-27 10:34:46

5

主题

31

回帖

207

积分

中级会员

积分
207
发表于 2023-9-12 14:56:01 | 显示全部楼层 |阅读模式
如何把自己的用户区ISP固件和自己的用户区AP固件进行合并供工厂量产使用

使用场景:工厂大批量生产;

问题现象:
使用STC-ISP下载isp固件后,还需要再打开另外一个exe程序下载app固件,量产效率有些低;


尝试过的方案(失败):
1、使用keil自带的srec_cat.exe把hex转成bin;
2、使用C写了个脚本,把isp和app的bin文件根据偏移地址进行合并;
3、把合并后的文件使用STC-ISP下载,实测后无法运行;

咨询方案:
有没有什么方式可以把isp和app固件合并成一个bin,然后使用STC-ISP一次性下载完成的方法?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2024-1-21 16:59:49 | 显示全部楼层
截图202401211659203273.jpg

www.stcai.com/zxsj

先看看我们这些程序,里面有说明文档


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-3-8 17:43:05 | 显示全部楼层
本帖最后由 乘风飞扬 于 2024-3-8 18:07 编辑

用4楼(地板)提供的转换工具,配合STC-ISP软件可以一次性烧录用户ISP程序与用户APP程序。

具体操作流程:
1. 使用STC-ISP软件通过"打开程序文件"打开 hex 文件,然后通过"保存数据"保存为 bin 文件。
将生成的用户ISP.hex文件保存为"boot.bin";将用户APP.hex文件保存为"app.bin"。
截图202403081726367575.jpg

2. 将"boot.bin"与"app.bin"文件拷贝到4楼(地板)提供的转换工具解压后的文件夹里面,双击"release.bat"生成"all.bin"与"update.bin":
截图202403081731446729.jpg

3. STC-ISP软件选择芯片型号,设置好IRC主频与EEPROM大小(60K)。
然后通过"打开程序文件"打开"boot.bin",通过"打开EEPROM文件"打开"update.bin";
或者通过"打开程序文件"打开"all.bin",STC-ISP软件会自动将用户ISP部分放到程序文件区域,将用户APP部分放到EEPROM文件区域。
最后点击"下载/编程"按钮将用户ISP程序与用户APP程序一起烧录到芯片,或者将用户程序下载到编程器以供脱机下载:
截图202403081740268443.jpg

4. 需要更新用户APP时,通过1,2两步生成"update.bin",然后使用STC-ISP(用户版)软件打开"update.bin",
拉低一次P32口触发程序进入升级流程,然后点击"下载"按钮开始更新:
截图202403081803255896.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-27 10:34:46

5

主题

31

回帖

207

积分

中级会员

积分
207
发表于 2023-9-13 09:32:51 | 显示全部楼层
本帖最后由 miaoyahan 于 2023-9-13 09:39 编辑

解决方案已找到,原来官方的程序已经把处理好的文件展示出来的,也就是图片上箭头所指的地方。

以下文件合并的思路:
1、新建一个工厂烧录文件并填充0xFF,大小根据实际的FLASH调整;
2、把ISP固件写在0地址;
3、读取AP固件前3个字节,暂存起来;
4、读取AP固件偏移后的数据,并把前面读取的3个字节赋值给缓冲;
5、把处理好的缓冲写入到工厂烧录文件中;
截图202309130927055354.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:248
  • 最近打卡:2025-04-27 09:57:01
已绑定手机

24

主题

756

回帖

3315

积分

超级版主

积分
3315
QQ
发表于 2023-9-13 09:33:42 | 显示全部楼层

自己做个上位机,先调用isp,在调用那个exe

具体步骤见手册附录O和附录Z
STC8H系列 1T 8051中文数据手册链接
http://www.stcmcudata.com/STC8F-datasheet/STC8H.pdf

截图202309130930556427.jpg


截图202309130931137384.jpg



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-27 10:34:46

5

主题

31

回帖

207

积分

中级会员

积分
207
发表于 2023-9-13 09:44:42 | 显示全部楼层
本帖最后由 miaoyahan 于 2023-9-13 09:50 编辑

使用C写了个脚本文件,可以使用keil自动调用。

脚本主要有以下作用:
1、把当前目录下的boot.bin和app.bin合并成量产文件all.bin;
2、生成远程ota升级用的update.bin,即去除app.bin偏移前的数据,可直接写入flash;
3、keil每次编译的时候自动调用脚本生成:工厂量产固件、远程OTA升级固件;
截图202309130944205203.jpg
截图202309130950319102.jpg

conver.rar

21.62 KB, 下载次数: 223

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-27 10:34:46

5

主题

31

回帖

207

积分

中级会员

积分
207
发表于 2023-9-13 09:51:32 | 显示全部楼层
8051*** 发表于 2023-9-13 09:33
自己做个上位机,先调用isp,在调用那个exe

具体步骤见手册附录O和附录Z

太复杂,写了个脚本,让keil每次编译的时候自动生成量产固件
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-03-10 12:50:25
已绑定手机

17

主题

28

回帖

254

积分

中级会员

积分
254
发表于 2023-9-16 12:17:08 | 显示全部楼层
miaoy*** 发表于 2023-9-13 09:51
太复杂,写了个脚本,让keil每次编译的时候自动生成量产固件

Create_Boot_App的程序是自己写的吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-27 10:34:46

5

主题

31

回帖

207

积分

中级会员

积分
207
发表于 2023-9-17 21:02:37 | 显示全部楼层
capco*** 发表于 2023-9-16 12:17
Create_Boot_App的程序是自己写的吗?

是的,使用c语言,用gcc编译的
回复 支持 反对

使用道具 举报 送花

0

主题

1

回帖

6

积分

新手上路

积分
6
发表于 2024-1-21 16:43:31 | 显示全部楼层
miaoy*** 发表于 2023-9-17 21:02
是的,使用c语言,用gcc编译的

楼主您好!我用您这个程序合并两个文件,烧录后只要触发中断程序就乱了。STC8H8K64U。是不是烧录的时候有什么要注意的? 我感觉是中断引导错误了。烧的时候我选择的是64K,整个烧录。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-02-07 14:05:58

0

主题

2

回帖

10

积分

新手上路

积分
10
发表于 2024-2-7 16:36:11 | 显示全部楼层
用原生stc-isp制作工厂合并烧录固件的方法步骤,请大神指点是否正确

STC在线升级isp固件和ap固件合并烧写.pdf

1.45 MB, 下载次数: 253

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:54 , Processed in 0.139263 second(s), 128 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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