我正在尝试为Ikea Dioder v2(3个按钮和色轮,项目显示在http://www.vagrearg.org/content/skilt20)构建组装固件:
https://github.com/openspaceaarhus/ikea-sign/blob/master/idh-firmware.asm#L430
汇编程序gpasm是gputils的一部分,可以在http://sourceforge.net/projects/gputils/
找到>gpasm -v
gpasm-1.2.0 #980 (May 17 2013)
>gpasm -DCOD=1 -p16f684 -o idh-firmware-16f684.hex idh-firmware.asm
idh-firmware.asm:430:Error[118] Overwriting previous address contents (0020)
源代码提到了一些我不理解的“跳桌错位”(我知道C但没有asm)。这可能与错误有关吗?
答案 0 :(得分:-1)
看起来有些跳转表错位可能是罪魁祸首。 您是否查看了列表,就像在idh-firmware.asm第121行中所说的那样?
这样的错误意味着不同代码片段的汇编器输出重叠。
看起来是在地址
上添加的RAM_B0_START equ 0x0020
它还可能与配置(绝对/可重定位代码)有关:
; Running variables
IFDEF COD ; {
org 0x0020
ELSE ; }{
databank udata 0x0020
ENDIF ; }