找回密码
 立即注册
查看: 185|回复: 9

编写远程升级用户app遇到代码不规范问题。

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-03-04 09:55:17

7

主题

16

回帖

101

积分

注册会员

积分
101
发表于 2026-1-19 20:57:43 | 显示全部楼层 |阅读模式
我用的是STC8A8K64D4单片机。编写程序前也参考了论坛上的例子。用参考例程改变单片机类型后,设置都按照 <<使用 STC 的 IAP 系列单片机开发自己的 ISP 程序――基于 STC8H8K64U>>说明的方法进行设置编译,然后用 用户ISP下载程序(串口版)打开,遇到代码不规范。后来把原文件的所有编译文件都删除了,新建工程,再编译,再试,代码规范了。然后同样的办法用的我自己的用户程序,却总是代码不规范。我的程序编译后显示30K。除了文件大一些,好像也没有其他的不同了。是不是除了说明文件之外,还有其他地方需要设置需要注意的吗?

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-03-04 09:55:17

7

主题

16

回帖

101

积分

注册会员

积分
101
发表于 2026-1-19 22:01:05 | 显示全部楼层
截图202601192158517727.jpg 比较了例子的HEX文件和自己的用户文件hex。如上图,昨天的是例子的hex文件,右边的是自己生成的hex文件数据。 自己的用户hex和调整前有些不同,没有调整前从0000h字节开始用户程序,调整后的hex开始的数据好像没有完全调整过来,只调整了一部分。这是什么原因?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2026-03-07 15:12:16
已绑定手机

102

主题

4134

回帖

9097

积分

荣誉版主

无情的代码机器

积分
9097
发表于 2026-1-19 22:06:02 | 显示全部楼层
对比官网例子逐页检查工程配置:

截图202601192205326505.jpg
截图202601192205489545.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-03-04 09:55:17

7

主题

16

回帖

101

积分

注册会员

积分
101
发表于 2026-1-20 08:06:19 | 显示全部楼层
页面中的设置项我都按照原图设置过了,得到的代码还是不规范。肯定还有其他方面的原因。也怀疑过目录中不能有汉字,试过了,不是这个原因。有没有汉字不影响代码是否规范。

点评

打包上传两个工程看看  详情 回复 发表于 2026-1-20 09:07
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2026-03-07 15:12:16
已绑定手机

102

主题

4134

回帖

9097

积分

荣誉版主

无情的代码机器

积分
9097
发表于 2026-1-20 09:07:00 | 显示全部楼层
ning*** 发表于 2026-1-20 08:06
页面中的设置项我都按照原图设置过了,得到的代码还是不规范。肯定还有其他方面的原因。也怀疑过目录中不能 ...

打包上传两个工程看看
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-03-04 09:55:17

7

主题

16

回帖

101

积分

注册会员

积分
101
发表于 2026-1-20 09:30:23 | 显示全部楼层
找到原因了。自己的工程目录里边添加了isr.asm这个文件。这个文件开头也设置了偏移,LDR_SIZE    EQU     1000H ,把这个文件移除工程文件再编译就可以了。或许这个文件和C51页面的设置重复?理解不深。反正把这个isr.asm这个文件去掉就可以了。非常感谢。 截图202601200930164690.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2026-03-03 21:17:07

10

主题

28

回帖

240

积分

中级会员

积分
240
发表于 2026-2-16 15:04:56 | 显示全部楼层
我的工程,也出现一样问题,但是要用到这两个中断,不能移走,应该怎么改呀。
        EXTRN DATA        (isr_index)
    LDR_SIZE EQU 1000H
        CSEG        AT        011BH                ;35号 触摸按键 中断入口
        MOV                isr_index, #35        ;标记中断号35
        LJMP        006BH                        ;跳转到中断号13的向量

        CSEG        AT        0123H                ;36号 RTC 中断入口
        MOV                isr_index, #36        ;标记中断号36
        LJMP        006BH                        ;跳转到中断号13的向量

        END
还有一个问题,如果下载时我要用12M,不是默认的24M,应该怎么改?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:374
  • 最近打卡:2026-03-06 22:49:54
已绑定手机

6

主题

332

回帖

1627

积分

金牌会员

积分
1627
发表于 2026-2-17 16:49:04 | 显示全部楼层
楼主搞定了没,最近也在写bootloader
学习
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-03-04 09:55:17

7

主题

16

回帖

101

积分

注册会员

积分
101
发表于 3 天前 | 显示全部楼层
BOOT程序中不能用任何中断,只能用查询的方式。这个远程升级的关键是重建中断向量表。要把中断向量表给用户程序使用,boot程序只能用查询法,不能使用任何中断。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-03-04 09:55:17

7

主题

16

回帖

101

积分

注册会员

积分
101
发表于 3 天前 | 显示全部楼层
截图202603041000282893.jpg 程序下载用多少M没有关系,多少都可以。视频网络设备和远程设备正常通讯。烧写的速率是根据现场的设备工作频率匹配的。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-7 15:32 , Processed in 0.114590 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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