芯科的efr32单片机固件其实分为两部分,一部分是bootloader,另一部分是application。其中application是我们用户自己编写的代码存放,而bootloader则用于:
(1)内部模块的最初初始配置
(2)根据分区表和ota_data选择要引导的应用程序分区
(3)将此映像加载到ram(iram和dram)
(4)引导加载程序位于flash中的地址0x1000
3.1 bootloader工程创建编译我们以efr32mg21a020f768im32为例来进行bootloader的开发。
3.1.1 创建工程1、依此点击file->new->silicon labs project wizard创建模板工程,如下图所示。
2、选择芯片类型,sdk版本和交叉编译器,点击next,如下图所示。
3、选择bootloader项目类型,点击next,如下图所示。
4、选择工程名称和存放路径,点击finish即可完成工程的创建。
3.1.2 工程编译由于bootloader项目不需要修改即可完成编译,所以我们点击如下图所示的按钮编译代码即可。
编译完成后结果如下图所示。
至此bootloader固件编译完成。
3.2 application工程创建编译3.2.1 创建工程1、依此点击file->new->silicon labs project wizard创建模板工程,如下图所示。
2、选择芯片类型,sdk版本和交叉编译器,点击next,如下图所示。
3、随便选择一个项目类型,比如zigbeeminimal项目,点击next,如下图所示。
4、选择工程名称和存放路径,点击finish即可完成工程的创建。
3.2.2 工程编译1、进入vcom控件配置页面
2、配置usart0作为vcom,并设置取消流控,映射txd和rxd到pd0和pd1。
3、配置led作为指示灯
4、配置pb0作为led输出
由于我们硬件上led是低电平点亮,所以选择active_low,同时端口选择pb0。通过上面配置两个资源,我们就实现了zigbee最小系统的修改,现在直接点击如下图所示按钮进行编译。
编译完成后结果如下图所示。
至此application固件编译完成。
3.3 固件下载在之前我们编译好了两个固件,现在我们利用烧录软件将这两个固件分别烧写进efr32中。由于efr32属于cortex-m4内核,所以可以用j-link进行程序烧录,提到j-link,我们知道它的官方也提供了一个烧写工具,叫做j-flash,但是这里我们使用芯科官方提供的simplicity commander工具进行固件烧录。1、点击如下图所示图标打开simplicity commander工具
2、选择simplicity commander工具
3、选择当前接入的j-link,单击连接
4、我们切换到device info页面,这个页面可以读取出当前mcu的内存情况,如果出现如下图所示的信息说明j-link连接正常,此时我们就可以烧写固件了。
5、我们切换到flash页面,手动选择固件的路径,点击flash按钮就可以实现固件的烧写,但是建议烧写bootloader之前先点击erase chip按钮进行全片擦除。
依次将两个固件烧写进efr32中,然后上电,接入usb转ttl工具,波特率设置为115200,就可以看到当前启动打印的信息了,如下图所示。
高镍电池成为新赛道,国内电池行业的变局
防水防冻又防雷的户外LORA基站推荐
xilinx vivado zynq pldma设计及应用block design操作说明
关于灼热丝试验仪的全面解析
骨传导耳机是什么?骨传导耳机和传统耳机哪个好?
Zigbee3.0协议栈开发-工程创建与编译
Agilent安捷伦 8722ES矢量网络分析仪具体参数
抢占新机加入有前途和钱途的集成电路企业
电梯运行远程监测系统特点及其独特优势!
IBM:锂空气电池原型2013年面世,2020年投产
8寸晶圆代工既不会死也不会凋零,只会稳稳的收钞!
移动机器人在现代制造业中的应用
Oldham推出一款用于探测制冷剂气体和SF6气体的新型红外传感器
欧菲光将在 2023 年发布 Uhnder 4D 数字雷达,助力中国汽车安全驾驶
触景无限一年前就已国网信通展开人工智能合作
探索协作机器人未来 中国协作机器人发展概况分析
中国移动正式发布了2019年至2020年汇聚分流设备集中采购公告
电感厂家谷景为客户考虑推荐定制色环电感替代贴片共模电感
FPGA的Verilog代码编写规范
移动信号放大器存在辐射危害吗?