DIY365 发表于 2025-5-18 10:01:00

8H8K64U无线OTA升级显示:代码文件不规范

已经按照pdf文档对Keil设置了,但是打开文件还是显示文件不规范。
这是怎么回事?

难道是我代码写的太多了?

国芯人工智能 发表于 2025-5-18 10:03:00

好的,我将按照您的要求逐步分析和解答问题。

1. 问题描述
您提到的问题是:按照PDF文档对Keil设置了,但打开文件仍然显示文件不规范。您还提到,代码可能太多,或者代码不规范。以下是您可能遇到的情况和解决方案。

2. 分析问题
文件不规范:通常指文件的结构不规范,如缺少目录、文件名、标签、扩展名等。
代码太多:可能指代码复杂度高,导致编译或运行时问题。

3. 解决方案
第一步:检查文件结构
确保文件有目录(如 .gitignore 或 .gitignore.d)
确保文件名和扩展名正确(如 .gitignore)
确保文件名与目录一致(如 .gitignore 的文件名应为 ignore)
检查是否有空行或换行错误(建议使用 diff 比较文件内容)

第二步:检查代码格式
确保代码使用了正确的语法(如 ; 分隔语句,: 单行语句)
检查是否有语法错误,如未声明变量、未定义函数或变量
确保代码没有未闭合语句或语句间空行
检查是否有未闭合的括号或引号

第三步:检查模块依赖
确保所有模块都已正确加载
确保模块之间没有语法错误
确保模块的依赖关系正确
检查是否有未启用的模块
确保所有模块的路径正确

第四步:使用调试工具
使用 Visual Studio Code 的调试工具(如 Ctrl + Shift + B)调试
使用 Python 3.8 的调试工具(如 black)
使用 PyCharm 的调试工具(如 Python 3.8)

第五步:查看错误提示
使用 diff 对比文件内容
使用 find 查找错误
使用 editor 查看错误提示

第六步:建议
确保代码是规范的
使用调试工具调试
检查文件结构和依赖关系
查看错误提示

4. 结论
通过以上步骤,您可以找到并解决文件不规范或代码太多的问题。如果您还有其他问题,欢迎随时提问!

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

ercircle 发表于 2025-5-18 10:42:45

没选错hex吧,上传工程看看

DIY365 发表于 2025-5-18 10:48:04

ercircle 发表于 2025-5-18 10:42
没选错hex吧,上传工程看看

hex没选错。
问题找到了,是中断向量大于31的问题。
我之前加了一个asm的汇编文件,用来处理大于31的问题。
我现在把这个文件删掉,就没问题了!

ercircle 发表于 2025-5-18 11:02:50

DIY365 发表于 2025-5-18 10:48
hex没选错。
问题找到了,是中断向量大于31的问题。
我之前加了一个asm的汇编文件,用来处理大于31的问题 ...

应该是汇编里没加上LDR_SIZE,偏移了就不报错了

DIY365 发表于 2025-5-19 09:19:16

ercircle 发表于 2025-5-18 11:02
应该是汇编里没加上LDR_SIZE,偏移了就不报错了

在哪个地方加的?

DIY365 发表于 2025-5-19 09:25:42

ercircle 发表于 2025-5-18 11:02
应该是汇编里没加上LDR_SIZE,偏移了就不报错了


      CSEG    AT012BH         ;P0INT_VECTOR
      JMP   P0INT_ISR
      CSEG    AT0133H         ;P1INT_VECTOR
      JMP   P1INT_ISR
      CSEG    AT013BH         ;P2INT_VECTOR
      JMP   P2INT_ISR
      CSEG    AT0143H         ;P3INT_VECTOR
      JMP   P3INT_ISR
      CSEG    AT014BH         ;P4INT_VECTOR
      JMP   P4INT_ISR
      CSEG    AT0153H         ;P5INT_VECTOR
      JMP   P5INT_ISR
      CSEG    AT015BH         ;P6INT_VECTOR
      JMP   P6INT_ISR
      CSEG    AT0163H         ;P7INT_VECTOR
      JMP   P7INT_ISR
      CSEG    AT016BH         ;P8INT_VECTOR
      JMP   P8INT_ISR
      CSEG    AT0173H         ;P9INT_VECTOR
      JMP   P9INT_ISR
      CSEG    AT017BH         ;M2MBMM_VECTOR
      JMP   M2MBMM_ISR
      CSEG    AT0183H         ;ADCBMM_VECTOR
      JMP   ADCBMM_ISR
      CSEG    AT018BH         ;SPIBMM_VECTOR
      JMP   SPIBMM_ISR
      CSEG    AT0193H         ;U1TXBMM_VECTOR
      JMP   U1TXBMM_ISR
      CSEG    AT019BH         ;U1RXBMM_VECTOR
      JMP   U1RXBMM_ISR
      CSEG    AT01A3H         ;U2TXBMM_VECTOR
      JMP   U2TXBMM_ISR
      CSEG    AT01ABH         ;U2RXBMM_VECTOR
      JMP   U2RXBMM_ISR
      CSEG    AT01B3H         ;U3TXBMM_VECTOR
      JMP   U3TXBMM_ISR
      CSEG    AT01BBH         ;U3RXBMM_VECTOR
      JMP   U3RXBMM_ISR
      CSEG    AT01C3H         ;U4TXBMM_VECTOR
      JMP   U4TXBMM_ISR
      CSEG    AT01CBH         ;U4RXBMM_VECTOR
      JMP   U4RXBMM_ISR
      CSEG    AT01D3H         ;LCMBMM_VECTOR
      JMP   LCMBMM_ISR
      CSEG    AT01DBH         ;LCMIF_VECTOR
      JMP   LCMIF_ISR

P0INT_ISR:
P1INT_ISR:
P2INT_ISR:
P3INT_ISR:
P4INT_ISR:
P5INT_ISR:
P6INT_ISR:
P7INT_ISR:
P8INT_ISR:
P9INT_ISR:
M2MBMM_ISR:
ADCBMM_ISR:
SPIBMM_ISR:
U1TXBMM_ISR:
U1RXBMM_ISR:
U2TXBMM_ISR:
U2RXBMM_ISR:
U3TXBMM_ISR:
U3RXBMM_ISR:
U4TXBMM_ISR:
U4RXBMM_ISR:
LCMBMM_ISR:
LCMIF_ISR:

      JMP   006BH

      END

ercircle 发表于 2025-5-19 09:34:19

DIY365 发表于 2025-5-19 09:25


就是这里,ISP里中断整体偏移了LDR_SIZE,比如LDR_SIZE 1000H情况下,ISP里0003H,APP区就是1003H,那用1003H跳106BH.

jwd 发表于 2025-5-19 10:08:10

是不是这里没有设置?

DIY365 发表于 2025-5-19 10:40:54

jwd 发表于 2025-5-19 10:08
是不是这里没有设置?

你这个是C251是另一个单片机
页: [1] 2
查看完整版本: 8H8K64U无线OTA升级显示:代码文件不规范