1. 本次的管板和Manly板还是有区别的,能都提供大家分别评测还是挺有意义的事。对比才分出差异。在上一贴初测后,再进一步就是分析下结构了。
2. 万利板的例程ADC为例,组织比较清楚。见下图。
user下是用户程序,这里是main.c。实现ADC采用和显示的功能,board下是板载资源及功能的定义,csp下是芯片的资源和功能定义,lib是库文件,最后的startup是ARM-M0/M4关于启动的定义。这些都多是在#include定义并引用而加入工程中的,有些在不同的文件夹下多次引用,读起来是挺多的。
3. 对比xpresso的例程及组织。先看用RTOS实现的blinky,如下图。
可以看到的是,看起来简单和清楚得多,用户程序blinky.c,系统启动sysinit.c和RTOS的启动,用#include引用了RTOS的有关task等的定义,以及有关的库。看起来没有在板载资源和芯片资源上做更多的定义。
不过需要看下一个例程,才能理解是否就不需要定义了。这是直接访问外设的blinky,和上面的例程组织看起来差不多。但是点blinky.c前面的“+”展开再看,这里也发现了board.h, chip.h等预定义头文件。而且,这些文件和manly的例程中是一样的,都是NXP提供的标准文件。
4、因此可以小小总结一下,无论是用什么板子,都需要先熟悉chip,并且掌握board,如果需要使用嵌入式系统RTOS,那么再加入这些MIDware,这样才是开发的基础和起点。而且从例程分析看,开发的过程对这两种板子来说都是差不多的。xpresso会定义得更精简,对于不需要用到的功能,一般不加入工程中去。Manly板子的例程却不管有用没用都先引用并预定义,所以这个工程看起来是比较大的,但实际上用的很小,其中比较多的是对于LCD的访问和应用,可以在开发时直接使用,还是非常方便的,在LCD显示字符和bmp图片都很简便。