打印
[信息]

【版主申请】STM32牛X的库

[复制链接]
3960|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bruce_helen|  楼主 | 2013-11-30 08:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
个人职业:嵌入式软件工程师
每日在线时长:平均时长7个小时

用到STM32不得不说他的库,相比之前使用DSP2812做开发,那进步不是一点点。现在再回头看看之前操作寄存器和直接使用库来工作,效率差的不是一点点!
STM32外设库和PC上开发高层软件有异曲同工之妙,我们知道Android的开发使用java,java相比C语言的开发要方便的多了,一行java代码可能是C代码的几十上百行。最关键是将软件层次分的更清晰,做上层的不用知道底层实现细节,只需要调一个函数就行。

我使用STM32(STM32F207)开发有一年多了,之前做过ARM9 GSM模块,DSP2812控制的医疗仪器。有了之前的基础搞STM32容易多了。
最近在用STM32开发一款医疗设备,实现了一个大的框架:将整个软件分为三层,最上层应用层,中间层,底层。移植最新的uC/OS-II,以这个为基础,分工就明确了,将任务分到不同的任务(task)中,大家分别实现,互不干扰,同时进行开发。这个架构可以推广到任何系统中。
在实现这个框架的工程中,我主要负责驱动层的实现,在这个过程中,将STM32F207的外设基本上都写了一遍。封装了更加简单的API给上层使用。这些API在后面的工程中也可以使用,现在不同的项目就是编写不同的APP task。

另外公司对网络没有限制,我每天有时间都会上线和大家一块讨论关于STM32的各种技术。

我的优势:具有STM32的实际项目经验,对STM32的外设库和性能有很深入的了解。
沙发
笑着去斗斗| | 2013-11-30 11:41 | 只看该作者
顶一个!

使用特权

评论回复
板凳
yswtxiao| | 2013-11-30 12:37 | 只看该作者
帮顶!

使用特权

评论回复
地板
yzzly| | 2013-11-30 13:09 | 只看该作者
我认为库不库的不是关键,有些对程序效率要求高的不用库也可以,关键是楼主教会新手如何在STM32上实现uC/OS-II的移植以及如何才能获得免费的uC/OS-II源代码!

使用特权

评论回复
5
zhangmangui| | 2013-11-30 20:40 | 只看该作者
库确实很方便

使用特权

评论回复
6
51xlf| | 2013-11-30 21:00 | 只看该作者
很丰富的。

使用特权

评论回复
7
51xlf| | 2013-11-30 21:01 | 只看该作者
不过用起来查找也难的。

使用特权

评论回复
8
zxf0168| | 2013-11-30 21:02 | 只看该作者
帮顶

使用特权

评论回复
9
huangfeng33| | 2013-11-30 21:26 | 只看该作者
个人认为还是寄存器直接操作吧,那是本质吧

使用特权

评论回复
10
caijie187| | 2013-11-30 21:29 | 只看该作者
挺好的

使用特权

评论回复
11
chenzhenzhen| | 2013-11-30 21:59 | 只看该作者
顶一下

使用特权

评论回复
12
zhangjin_comeon| | 2013-11-30 22:26 | 只看该作者
越来越使用啦

使用特权

评论回复
13
bruce_helen|  楼主 | 2013-12-1 17:28 | 只看该作者
huangfeng33 发表于 2013-11-30 21:26
个人认为还是寄存器直接操作吧,那是本质吧

用寄存器能更加深入了解硬件实现的功能,实现一个功能一般需要配置很多寄存器,需要我们对硬件有相当深入的了解才能配置正确,搞定后我们会觉得很明白。的确,这确实挺好,做技术的都推崇,但是你没考虑到效率。

使用寄存器最大的问题是容易出错,而且不利于以后的维护,重新配置一个功能我们还需要重新设置寄存器,有没有感觉这种方式非常原始?如果使用库函数操作,那么这些问题ST写库的软件工程师已经给我们想好了,直接调用他封装好的库会非常简单可靠。

有时候使用寄存器是必须的,比如在C库初始化之前我们不能调用C函数,也就不能调用ST库函数。最明显的一个例子就是STM32使用外部SRAM时,我们必须在C库初始化前把FSMC初始化好。这时候必须通过寄存器来操作了。

使用特权

评论回复
14
bruce_helen|  楼主 | 2013-12-1 17:31 | 只看该作者
yzzly 发表于 2013-11-30 13:09
我认为库不库的不是关键,有些对程序效率要求高的不用库也可以,关键是楼主教会新手如何在STM32上实现uC/OS ...

项目中一般都使用库,稳定也方便维护。学习的话操作寄存器没问题,操作寄存器能更深入了解外设的功能。

使用特权

评论回复
15
dong_abc| | 2013-12-1 18:05 | 只看该作者
zhangmangui 发表于 2013-11-30 20:40
库确实很方便

我现在看见那一堆臃肿的库就想吐

使用特权

评论回复
16
小营七郎| | 2013-12-1 19:53 | 只看该作者
帮顶楼主。

使用特权

评论回复
17
bruce_helen|  楼主 | 2014-1-9 07:49 | 只看该作者
dong_abc 发表于 2013-12-1 18:05
我现在看见那一堆臃肿的库就想吐

比直接操作寄存器好多了吧,库用习惯了,直接操作寄存器才想吐。:lol

使用特权

评论回复
18
dong_abc| | 2014-1-9 13:30 | 只看该作者
bruce_helen 发表于 2014-1-9 07:49
比直接操作寄存器好多了吧,库用习惯了,直接操作寄存器才想吐。

我是一次配置,持续优化,终身使用...
如果只是想快点搞出东西来用库快捷...可别等几天,st又把库升级了:lol

使用特权

评论回复
19
bruce_helen|  楼主 | 2014-1-9 14:46 | 只看该作者
dong_abc 发表于 2014-1-9 13:30
我是一次配置,持续优化,终身使用...
如果只是想快点搞出东西来用库快捷...可别等几天,st又把库升级了: ...

库升级是好事啊,肯定是有什么BUG之类的修复,性能的提升,何乐而不为呢

使用特权

评论回复
评论
dong_abc 2014-1-9 15:14 回复TA
要是把接口改了呢?框架改了呢? 
20
2000zxy| | 2014-1-10 01:36 | 只看该作者
是啊,学习了,主要是效率问题,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

141

帖子

0

粉丝