大家好,直接主题,我用的DSP为F28034,前几天突然有个想法,自己试了下不太好用,现在分享出来问下大家能不能实现,具体如下:
假如我有一段代码,这一段代码比较厉害,我不希望别人知道源代码也不希望别人有此代码的库文件甚至不希望别人有能下载的hex文件或者out文件。但是,我又希望我的这段代码能够允许其他人调用二次开发,怎么实现呢?
我的想法:我将28034的FLASH的一个区分离出来专用于下载我的这一段代码,假设为(修改cmd文件)
FLASHF : origin = 0x3EC000, length = 0x002000
这样,我将这一段FLASH 加入密码,也就是说二次开发人员不能擦除我这一段代码,这就保证了我的代码安全性,用户只能购买下载有我的程序的DSP才能使用我的这段程序。
那么,怎样留出接口供二次开发呢?
我的想法:向二次开发人员规定,我的这段代码的入口函数地址为FLASHF的起始地址(这通过CMD文件很容易实现),二次开发人员只需要让程序跳转到这一地址,就相当于调用了这个函数。传参可以通过规定指定的RAM地址进行,(CMD中划分出指定RAM地址用于交互)。
但是不幸的是,通过实际测试并行不通,遇到问题有:
1,我需要自己下载一次我的程序,用于刷新FLASHF区域,并且二次开发人员需要重新擦除偶五的main函数,自己重新新建CCS工程,但是,当我编译我的工程时发现,如果我不调用我的入口函数,此函数是不编译的(FLASHF区域无数据),即使我关了CCS优化
2,无论我采用何种方式,都不能将程序跳转到FLASH 地址0x3EC000
在此寻求帮助,谢谢大家了