hsrzq
发表于 2024-7-17 12:46:09
xxkj2010 发表于 2024-7-17 12:40
请问如何将1000H~1006H这7个字节保留,并定义为FFH?
ORG 1000H
DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH
汇编里面这么写应该就可以了吧。(我主要用的是sdcc,keil的语法没那么熟悉)
xxkj2010
发表于 2024-7-17 12:51:51
hsrzq 发表于 2024-7-17 12:46
汇编里面这么写应该就可以了吧。(我主要用的是sdcc,keil的语法没那么熟悉) ...
汇编的,我不懂。加入这段汇编代码,在keil中好像还要加入什么命令,说明这是汇编语言吧
xxkj2010
发表于 2024-7-17 12:54:32
神农鼎 发表于 2023-12-16 12:22
你这个对生产的理解是错误的 !!!
这种 方式加密,是不是一定要与发布项目配合起来使用?
如果芯片在自己手里,这方法是否起作用?
hsrzq
发表于 2024-7-17 13:27:36
本帖最后由 hsrzq 于 2024-7-17 14:05 编辑
xxkj2010 发表于 2024-7-17 12:51
汇编的,我不懂。加入这段汇编代码,在keil中好像还要加入什么命令,说明这是汇编语言吧 ...
u8 code __at(0x1000) xxx[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
我只能说大致应该是这个样子
hsrzq
发表于 2024-7-17 13:32:37
xxkj2010 发表于 2024-7-17 12:54
这种 方式加密,是不是一定要与发布项目配合起来使用?
如果芯片在自己手里,这方法是否起作用? ...
没太明白你说的啥。
STC的加密有很多种方式,通过“发布项目”对hex传输加密是最基本的。
还可以配置为芯片必须要有正确的密码才能烧录,这样对芯片也能保护。
xxkj2010
发表于 2024-7-17 13:59:46
hsrzq 发表于 2024-7-17 13:32
没太明白你说的啥。
STC的加密有很多种方式,通过“发布项目”对hex传输加密是最基本的。
还可以配置为芯 ...
我不想发布项目,烧录由自己操作,不用客户烧录。
xxkj2010
发表于 2024-7-17 14:01:17
hsrzq 发表于 2024-7-17 13:27
我只能说大致应该是这个样子u8 code _at_(0x1000) ram = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
编译提示:
app\main.c(5): error C141: syntax error near '_at_'
app\main.c(5): error C141: syntax error near '0x1000'
芯片是STC8H的
hsrzq
发表于 2024-7-17 14:02:12
xxkj2010 发表于 2024-7-17 13:59
我不想发布项目,烧录由自己操作,不用客户烧录。
正常情况下都是这样呀,这样程序也能加密呀。
“发布项目”只能给了售后服务的另一种可能~
xxkj2010
发表于 2024-7-17 14:04:24
本帖最后由 xxkj2010 于 2024-7-17 14:44 编辑
hsrzq 发表于 2024-7-17 14:02
正常情况下都是这样呀,这样程序也能加密呀。
“发布项目”只能给了售后服务的另一种可能~ ...
那我试试,目前是还无法将固定地址留空给ID,无论用c还是插入汇编,均提示错误,我用的是keil c51
下面方式提示错误:
u8 code _at_(0x1000) ram = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
xxkj2010
发表于 2024-7-17 14:27:35
本帖最后由 xxkj2010 于 2024-7-17 14:45 编辑
好了,好了!
还是在主程序的开始插入汇编(一句一句地加,不会整段地来,请大神勿喷):
__asm ORG 1000H
__asm DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH不过编译前需要设置一下:
汇编语言可以加到main的下面:
上述方法经过测试,暂时可用。但是否得当,请专家指点!谢谢!