使用SAM BA在Linux下烧录及调试(sambalinux)
STM32
Linux操作系统是嵌入式系统开发中常用的操作系统,STM32是ST公司推出的一系列ARM内核微控制器,具有优异的性能,且普遍有标准的JTAG接口,开发人员可以进行烧录和调试。
使用SAM BA(System Access Monitor Boot Assist)可以在Linux下烧录及调试STM32,传输它们到硬件中,SAMBA软件包括3个部分:烧录工具、linux库和IDE支持。
烧录工具:烧录工具可以通过命令行调用来烧录文件到STM32 。
Linux库:Linux库可以通过MMAP()系统调用来模拟文件系统,以便将程序烧录到STM32 中。
IDE支持:有了这个支持,使用者可以在Linux下直接开发STM32应用程序,比如Keil MDK,Atollic TrueStudio,IAR EWARM等等。
要想把程序烧录到STM32中可以使用SAM BA的三大功能,以此来实现在Linux系统下给STM32 烧录及调试的功能。
以下是使用SAM BA烧录STM32示例代码:
#include
#include
// 创建samba实例Samba samba;
// 设置目标文件char *file_name="test.bin";
// 打开文件samba.open(file_name);
// 烧录文件samba.burn();
// 关闭文件samba.close();
通过以上代码,可以使用SAMBA在Linux下烧录及调试STM32,同时也支持很多常见的开发环境,非常便捷。但是只能用在和LINUX兼容的芯片中,比如STM32,不能用于其它嵌入式系统,如微控制器。此外,由于SAM BA的使用基于命令行,使用者需要掌握Linux的相关知识,才能使用起来。