hasia 发表于 2021-7-24 19:33:03

FM33G0xx通过代码实现自我加密(读保护)!!!

FM33G0xx如何通过代码实现自我加密(读保护)
FM33G0xx如何通过SWD接口实现接触读保护,看其他帖子回复说要通过全擦,但是库里面没有全擦函数

/** @defgroup NVMIF_Exported_Constants
* @{
*/
#define flash_sector_erase_key0   ((uint32_t)0x96969696)
#define flash_sector_erase_key1   ((uint32_t)0xEAEAEAEA)

#define flash_block_erase_key0    ((uint32_t)0x96969696)
#define flash_block_erase_key1    ((uint32_t)0x3C3C3C3C)

#define flash_chip_erase_key0   ((uint32_t)0x96969696)
#define flash_chip_erase_key1   ((uint32_t)0x7D7D7D7D)

#define flash_erase_data      ((uint32_t)0x1234ABCD)

#define flash_PROG_key0       ((uint32_t)0xA5A5A5A5)
#define flash_PROG_key1       ((uint32_t)0xF1F1F1F1)



红色部分有定义全片擦除的KEY,但是完全没有提到怎么使用,模仿sector_erase的操作,则状态码显示KEY错误!

怎么搞起?

顾博文 发表于 2021-7-26 09:26:31

1、自我读保护不清楚啥意思,程序自己都不能读了,那指令没法读了,也就没法运行了。
2、通过脱机编程器,加密烧写程序。那编程器就无法读出程序了,也是就保护了。只有通过编程器把程序全擦了后,才能再次对芯片进行读写。

hasia 发表于 2021-7-31 22:08:56

嗯,谢谢!已经清楚了。
这里说明下,希望大家明白:
复旦微F33芯片加密是通过修改选项字里面的内容实现的,选项字的内容必须通过SWD接口去修改。
解除保护要通过全擦实现,全擦操作也只能通过SWD接口实现。

648529054 发表于 2022-2-28 16:11:05

你好,请问下复旦微芯片读保护最后是怎么解决的呢?实在不想用大几百的专用下载器

648529054 发表于 2022-2-28 18:08:19

有哪些下载器配合哪些上位机软件可以改选择字节啊,j-link+JFlash可以吗

顾博文 发表于 2022-3-3 15:41:35

648529054 发表于 2022-2-28 18:08
有哪些下载器配合哪些上位机软件可以改选择字节啊,j-link+JFlash可以吗

只能专用编程器加密

wwyyyy 发表于 2023-5-8 10:22:48

关于 修改flash配置选项字节,或者上位机指令、接口的资料,可以提供么?

wwyyyy 发表于 2023-5-8 10:25:35

修改 选项字节或 以及 相关的上位机指令接口,这方面的资料,可以提供么?

wwyyyy 发表于 2023-5-8 13:51:55

修改选项字节,及其上位机指令接口,这方面的资料,方便提供么?
页: [1]
查看完整版本: FM33G0xx通过代码实现自我加密(读保护)!!!