嵌入式软件架构设计之一:点亮星星之灯,构建最小系统

入门

       一般要开发一个新的嵌入式软件时,软件工程师手上已经有了嵌入式硬件,至少有个开发板,我们主要是针对上面的芯片进行软件开发,最常见就是MCU,DSP,SOC等芯片,这些芯片会提供SDK软件包,我们基于此SDK来开发我们的嵌入式软件。

一、点亮星星之灯,构建最小系统

       星星之火,可以燎原。嵌入式软件开发中,最简单的外设应该是GPIO,我们就从GPIO下手,做一个星星之灯,只要灯能点亮,能够控制亮和灭,那么软件最小系统就算是构建完成了,软件v1.0版本就算是构建完成了,我们就可以发布第一版软件了,此后的版本都可以基于此v1.0版本进行迭代,当然这个v1.0是我们自定义的内部调试版本,正式商用的版本号需要根据真实的需求去指定,此处的v1.0版本号是为了标识自己开发版本的迭代过程,通过点滴的功能累计来增加信心。

       当然有的小伙伴们会说,我们的硬件上没有LED灯怎么办?其实这里的LED主要是在调试过程中,起到一个指示作用,可以很直观的来指示程序的走向。我参与的项目中一般会给硬件工程师提要求,在有多余的GPIO的情况下,请加一个debug用的LED灯,只在开发调试阶段使用,真正发货硬件是不带LED的,或者仍然可以保留,只是软件上不去操作即可,因为LED成本很低,当然实际情况而定。也有遇到没有预留灯的情况,我的做法是找一个暂时不用的GPIO通过飞线的方式外部接一个直插式的LED来进行控制,一样的效果。

       具体LED使用的GPIO该怎么配置,各个芯片厂家给SDK不一样,提供的相关接口不一样,我们这里不做讨论,这不是我们这里要关心的内容,我们这里只是建议大家尽量能够通过一个GPIO来提供一个LED指示灯用。

二、最佳实践:

1.根据各家芯片,配置控制LED的GPIO:

      1) 使能GPIO时钟;

      2) 配置复用功能为GPIO

      3) 配置为输出功能

2.做一个bsp_led.c/.h文件,在里面实现三个接口

     1) void bsp_led_on(void);//控制led灯亮

     2) void bsp_led_off(void);//控制led灯灭

     3) void bsp_led_toggle(void);//控制led灯状态翻转

3.在需要的地方进行LED接口调用,led能控制执行说明程序有走到此处。

小灯,大作用

结束

专栏文章总目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值