我是嵌入式编程的初学者,使用Atmel studio 7在SAMD10中开发引导加载程序,我使用atmel start网站生成Flash读/写/追加程序,占用空间为0x1500,但可用内存仅为引导加载程序的0x300所以我想要优化它。任何人都可以建议我如何写。
答案 0 :(得分:0)
0x0300字节=少于1Kb的代码。可以做一个简单的引导加载程序,但是如果你的内容太复杂,它可能永远不适合。
如果您在引导加载程序中发布所需功能的源代码,我可以提供帮助,并至少告诉您它是否适合。短篇小说:如果你想要其他任何东西,那么一个简单的引导程序,那么它就不适合这么小的空间。
您还可以使用程序存储器的一部分(在引导加载程序存储器之外)来存储一两个例程,并从引导加载程序中调用它们。为此,您必须知道自己在做什么,因为如果您不做正确的事情,重新编程程序可能会删除这些功能。如果你不知道该怎么做,我不确定你应该尝试一下。在商业设备上,执行此操作可能会使您的设备无法使用引导加载程序进行升级。如果您知道自己在做什么,可以安全地完成,我已经做过几次类似的事情而没有任何问题。
如果您不想在程序空间中使用引导程序的一部分,那么更简单的方法是在程序中添加一个允许固件升级的功能。只需将引导程序源代码放入程序中即可完成。