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

用户做 ISP区 的位置

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:537
  • 最近打卡:2025-08-24 01:00:11
已绑定手机

86

主题

5979

回帖

1万

积分

超级版主

积分
10832
发表于 2025-6-11 10:36:17 | 显示全部楼层
EEPROM总是从后向前分配的

用户ISP程序设置在非EEPROM区域可以防止用户APP误修改用户ISP,但这样只能通过系统ISP下载用户ISP(可同时下载用户APP),用户ISP无法修改自己
该方式由于用户ISP被保护,且用户ISP位于实际中断向量处,这样可以在用户ISP和用户APP中使用中断,不会出现用户APP错误影响用户ISP的中断(需要确保用户ISP中的中断是正常的)

如用户APP位于实际中断向量处,需要确保每一次下载的用户APP程序中断跳转都是正常的,才能在用户ISP中使用中断
这种情况下如用户APP中断相关程序错误且用户ISP使用了中断,就会出现用户APP影响用户ISP的问题
表现为错误的用户APP下载进去之后无法再通过用户ISP下载,所以安全起见避免用户APP错误导致用户ISP锁死,用户APP位于实际中断向量处时,用户ISP中不要使用中断
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:210
  • 最近打卡:2025-08-22 09:04:22
已绑定手机

4

主题

13

回帖

578

积分

高级会员

积分
578
发表于 2025-6-11 10:39:42 | 显示全部楼层
erci*** 发表于 2025-6-11 10:30
是的,对应用户APP工程的中断偏移,程序预留也要删掉、
现在程序预留区改到ISP工程里配置 ...

我用官方的那个ISP示例,把isr.asm删了,然后程序预留区设置为0xFF0000-0xFFF000,其他还没改,编译结果是

*** WARNING L30: MEMORY SPACE OVERLAP
    SEG:     
    FROM:    FF0000H     
    TO:      FF0003H     
Program Size: data=19.1 edata+hdata=768 xdata=4 const=0 code=735
creating hex file from ".\obj\stc_uart_user_isp"...
".\obj\stc_uart_user_isp" - 0 Error(s), 1 Warning(s).

点评

前三个字节跳过,这三个字节跳转程序起始地址的,烧录App时记得不要覆盖。 0xFF0003-0xFFF003  详情 回复 发表于 2025-6-11 11:20
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-6-11 11:20:58 | 显示全部楼层
JDB*** 发表于 2025-6-11 10:39
我用官方的那个ISP示例,把isr.asm删了,然后程序预留区设置为0xFF0000-0xFFF000,其他还没改,编译结果是 ...

前三个字节跳过,这三个字节跳转程序起始地址的,烧录App时记得不要覆盖。
0xFF0003-0xFFF003
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 05:27 , Processed in 0.116079 second(s), 58 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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