有关键算法和数据,需事先烧写进msp430芯片中,再售予卖方,实现可控。
问1: 单独一个或几个无main 的函数 及数据 如何 生成hex文件 或 其他合适文件?
问2: 用什么工具及软件可以将此格式文件单独烧写进芯片中?
问3: 买入方该如何调用这些函数?及烧写时又该如何?
问4:是否还有其他需注意的问题?
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
跟蝈蝈说的一样可以将这部分代码做成lib的形式给客户提供接口函数即可,另外可以通过430 flash programmer将代码和数据直接烧写到定义的地址区间
仔细思考了楼主的这个问题,发现确实很棘手。你不允许代码被读出,所以烧完你的代码后,JTAG接口必须熔断,否则放在Flash里的代码也就没有保密可言。而熔丝烧断后,只能通过BSL接口进行烧录。而现在片内自带的UART的BSL,没有password的情况下下,只能允许把Flash全部Erase,然后重新烧录,这就和楼主本意不符了
只能用一种方法,在楼主预烧录的代码中,包含一个自己定制的BSL代码,用来完成后续终端客户对Flash的烧录。说的详细一点,类似于预烧录代码中,包含一个main函数,而main函数包含每次上电时,对一个GPIO判断,来决定这次上电是跳转到中断客户的代码,还是自带的BSL代码。而需要加密的库文件,就以指针函数的方法,放在特定段就好。用自己定制的BSL代码,就能限制终端客户的读出,请也能限制再次烧录的地址范围。只是这样方法,会占用Reset的中断向量位置不允许被修改,而终端客户的代码中,势必有对中断向量表其他向量的写入,整个控制逻辑会比较复杂。
洛里啰嗦说了半天,好像表述的不是很清楚,也不知道大家看不看的懂。且这也只是从理论上看起来可行,没有实际试过,实际去实现的时候应该还会有一些问题需要考虑。不知道楼主会不会做这个尝试?若有问题我们再探讨
单芯片的解决方案就想到了这种。若你的设计能接受多芯片,可以采取和苹果加密芯片相似的方法,额外加一个430MCU烧断熔丝,里面带加密的算法,每次调用你的库时需要先和加密芯片通讯。这样,放在主芯片的库文件就不需要考虑加密的问题'。