找回密码
 立即注册
楼主: ercircle

【Ai8051U&OTA】分享个固件&Apk,安卓OTG升级

  [复制链接]
已绑定手机

121

主题

5082

回帖

1万

积分

超级版主

无情的代码机器

积分
11222
 楼主| 发表于 2025-11-13 17:03:16 | 显示全部楼层
mcta*** 发表于 2025-11-13 16:28
大佬,在进入系统区后重连失败,是啥原因呢

只说这个我猜不到呢
用的哪个型号?只单刷用户ISP固件能连接手机吗?

三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

已绑定手机

0

主题

15

回帖

66

积分

注册会员

积分
66
发表于 2025-11-13 17:23:21 | 显示全部楼层
erci*** 发表于 2025-11-13 17:03
只说这个我猜不到呢
用的哪个型号?只单刷用户ISP固件能连接手机吗?

用的STC32G12K128  已经刷好固件了,我想更新固件,于是先进入系统区,提示重连失败

点评

刷好固件指的是:单独烧录用户ISP连接正常,用手机刷一次用户APP正常? 固件是例程包里的例程?用压缩包里例程测试下? 可以发点截图录屏啥的 另外可以在电脑上用串口指令看是否能正常切换  详情 回复 发表于 2025-11-13 20:49
回复

使用道具 举报 送花

已绑定手机

121

主题

5082

回帖

1万

积分

超级版主

无情的代码机器

积分
11222
 楼主| 发表于 2025-11-13 20:49:51 | 显示全部楼层
mcta*** 发表于 2025-11-13 17:23
用的STC32G12K128  已经刷好固件了,我想更新固件,于是先进入系统区,提示重连失败
...


刷好固件指的是:单独烧录用户ISP连接正常,用手机刷一次用户APP正常?
固件是例程包里的例程?用压缩包里例程测试下?
可以发点截图录屏啥的
另外可以在电脑上用串口指令看是否能正常切换


三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

已绑定手机

2

主题

106

回帖

2025

积分

金牌会员

积分
2025
发表于 2025-11-13 22:31:15 | 显示全部楼层
用手机平板都可以玩STC单片机,学习了
回复

使用道具 举报 送花

已绑定手机

0

主题

15

回帖

66

积分

注册会员

积分
66
发表于 2025-11-14 09:55:25 | 显示全部楼层
erci*** 发表于 2025-11-13 20:49
刷好固件指的是:单独烧录用户ISP连接正常,用手机刷一次用户APP正常?
固件是例程包里的例程?用压缩包 ...

感谢,找到原因了,我把复位IAP_CONTR改成0x60了,改回例程的0x28就正常了
回复

使用道具 举报 送花

已绑定手机

1

主题

10

回帖

120

积分

注册会员

积分
120
发表于 2026-1-25 22:23:41 | 显示全部楼层
用手机下载程序吗?
回复

使用道具 举报 送花

8

主题

56

回帖

183

积分

注册会员

积分
183
发表于 2026-4-28 11:12:35 | 显示全部楼层
楼主还在吗?MCU断电重启后,首先运行的是OTA程序还是APP程序?OTA和APP程序之间相互跳转我能理解,设置IAP寄存器就行。但是断电重启后首次运行的是哪个程序?手册里面没有介绍啊?!只提到了复位后的绝对地址是从0xFF000开始。但是从绝对地址划分上看0xFF0000处应该是APP程序,如果默认运行APP程序,那如果APP程序升级失败,岂不是永远都无法进入OTA程序了?必须先进OTA程序然后OTA程序操作IAP寄存器的方式进入APP程序。这样的流程才是正确的呀?!楼主能指导下吗?谢谢!还有中断处理,两个程序是相互独立的?非AI8051U型号的单片机,OTA程序和APP程序共用一个中断入口函数,现在的AI8051U不需要这样操作了吗?
回复

使用道具 举报 送花

8

主题

56

回帖

183

积分

注册会员

积分
183
发表于 2026-4-28 11:39:15 | 显示全部楼层
官方给的OTA示例不对吧,官方示例OTA程序容量是4K,EEPROM空间的总容量是8K。那OTA程序想升级APP程序时,IAP无法操作APP区域的flash啊?因为IAP操作使用的是目标地址,现在设置的是8K,那么0x00对应的绝对物理地址就是0xFFE000,怎么操作0xFF0000处的APP程序区域呢?只有将EEPROM容量设置为64K,OTA程序依然是4K,实际使用的EEPROM区域是4K,剩下56K是APP区域。此时使用IAP方式才能擦写0xFF0000区域吧?IAP方式操作只能使用相对地址吧?能按照绝对地址操作吗?

点评

带用户系统区的,不需要考虑中断偏移,上电由系统ISP区-用户系统区-用户程序区顺序执行。 EEPROM,用户系统区内操作是有差异的: [attachimg]136527[/attachimg]  详情 回复 发表于 2026-4-28 12:00
回复

使用道具 举报 送花

已绑定手机

121

主题

5082

回帖

1万

积分

超级版主

无情的代码机器

积分
11222
 楼主| 发表于 2026-4-28 12:00:07 | 显示全部楼层
水水水*** 发表于 2026-4-28 11:39
官方给的OTA示例不对吧,官方示例OTA程序容量是4K,EEPROM空间的总容量是8K。那OTA程序想升级APP程序时,IA ...


带用户系统区的,不需要考虑中断偏移,上电由系统ISP区-用户系统区-用户程序区顺序执行。
EEPROM,用户系统区内操作是有差异的:
截图202604281158415452.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

8

主题

56

回帖

183

积分

注册会员

积分
183
发表于 2026-4-28 12:34:06 | 显示全部楼层
erci*** 发表于 2026-4-28 12:00
带用户系统区的,不需要考虑中断偏移,上电由系统ISP区-用户系统区-用户程序区顺序执行。
EEPROM,用户系 ...

感谢指导!关于EEPROM部分,我还是没弄明白,STC-ISP烧写软件里面设置的EEPROM大小,和使用IAP操作的地址范围有什么关系。既然IAP可以操作flash整个64K的地址范围,那设置EEPROM容量的作用在哪里呢?用户在程序中依然可以人为指定EEPROM起始地址和容量,这样会更方便。除非是不想程序太复杂,简单设置个1K容量的eeprom能使用就行。
问题的本质就是:IAP操作可以使用绝对地址,比如说0xFF0000这种方法吗?如果可以,那这个工具设置的eeprom容量就可以不关心了。程序中使用绝对地址操作就可以了。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-23 16:22 , Processed in 0.080030 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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