找回密码
 立即注册
查看: 67|回复: 3

新人又来求助了

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-09-02 16:01:09
已绑定手机

3

主题

10

回帖

79

积分

注册会员

积分
79
发表于 2025-8-26 18:57:56 | 显示全部楼层 |阅读模式
按照各种教程的步骤,自己创建了keil项目(整个路径、文件夹、文件名都是新建的),自己手打代码,编译也没问题,但是用ISP软件打开的时候发现不i对劲,怎么那么多代码,求教大佬

我明明只加了一个头文件,为啥main.c下边有三个.h文件?

2025-08-26_185257.JPG
2.JPG
1.JPG



回复

使用道具 举报 送花

3

主题

2001

回帖

850

积分

等待验证会员

积分
850
发表于 2025-8-26 18:58:00 | 显示全部楼层
您好,感谢您的提问。关于您在使用Keil创建项目并手写代码后,通过ISP软件查看时发现“有很多代码”的情况,这可能是由以下几个原因导致的,下面我将从专业角度为您逐一分析并提供解决方案。

首先,需要明确的是,ISP(In-System Programming)软件通常用于对单片机进行编程和调试,它会读取芯片内部的Flash内容。如果您在Keil中编译生成的代码被成功烧录到MCU中,那么ISP软件显示的内容应与您实际烧录的程序一致。但若出现“代码量异常多”或“不匹配”的情况,可能涉及以下几方面问题:

1. 项目配置错误  
   在Keil中,如果未正确配置启动文件、链接脚本(.sct文件)或内存映射,可能导致编译器将不必要的代码(如未使用的函数、全局变量等)也包含进最终的HEX或BIN文件中。建议检查项目设置中的“Target”选项卡,确认是否启用了优化选项(如-O2),并确保链接脚本正确指定了代码段和数据段的起始地址及大小。

2. 未清除旧代码或缓存  
   有时Keil可能会保留旧版本的编译结果,尤其是在多次编译或更换不同型号MCU时。建议在编译前执行“Rebuild All Target Files”操作,并清理工程目录下的临时文件(如.obj、.hex等),以确保使用的是最新编译结果。

3. ISP软件版本不兼容或设置错误  
   不同版本的ISP软件对MCU的支持可能存在差异,尤其是针对不同系列的芯片(如STM32、GD32、ESP32等)。请确认您使用的ISP软件是否支持您所使用的MCU型号,并检查其配置参数是否与Keil中的设置一致,例如时钟频率、Flash地址范围等。

4. 代码中存在未定义的符号或未初始化的变量  
   若代码中引用了未定义的函数或变量,编译器可能会将其替换为默认值或填充垃圾数据,导致ISP软件显示异常。建议在编译过程中关注警告信息,并使用“Build Output”窗口检查是否有未解析的符号或潜在的内存越界问题。

5. ISP软件读取方式问题  
   部分ISP软件在读取MCU内容时,可能默认读取整个Flash区域,包括未使用的部分,这会导致显示内容看起来“很多”。您可以尝试在ISP软件中指定具体的读取地址范围,或使用“Verify”功能对比已烧录的代码与目标文件的一致性。

6. 硬件连接或电源问题  
   如果ISP通信不稳定,可能导致读取的数据出现错误。建议检查USB转串口线、JTAG/SWD接口的连接是否牢固,并确保MCU供电稳定。

综上所述,建议您按照以下步骤排查问题:  
检查Keil项目配置,确保链接脚本和内存分配合理;  
清理工程并重新编译,确保使用最新的编译结果;  
确认ISP软件版本与MCU兼容,并正确配置参数;  
使用ISP软件的“Verify”功能验证烧录内容;  
检查硬件连接和电源状态,确保通信稳定。

若您能提供更多细节(如MCU型号、Keil版本、ISP软件名称及具体报错信息),我可以进一步帮助您定位问题。希望以上分析对您有所帮助,祝您开发顺利!

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-09-02 16:01:09
已绑定手机

3

主题

10

回帖

79

积分

注册会员

积分
79
发表于 2025-8-26 19:09:55 | 显示全部楼层
国芯人*** 发表于 2025-8-26 18:58
您好,感谢您的提问。关于您在使用Keil创建项目并手写代码后,通过ISP软件查看时发现“有很多代码”的情况 ...

我用的ai8051u擎天柱板子,keil版本是5.35,isp是V6.96版
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:287
  • 最近打卡:2025-09-03 08:55:47
已绑定手机

80

主题

3032

回帖

6445

积分

荣誉版主

无情的代码机器

积分
6445
发表于 2025-8-26 21:32:45 | 显示全部楼层
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-9-3 10:35 , Processed in 0.120749 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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