RIOT 技术笔记-03 CC2538在RIOT中的相关基础介绍
1、cc2538cpu中的基础底层驱动文件
下图中,cc2538中包含了几个文件夹。
1、periph里面包含了gpio,spi,timer,uart等。
2、radio中包含了cc2538射频模块的一些信息,cc2538的无线模块代码都在这里了,经过测试这些代码都是完整的。
3、include中包含了上面几个文件中的头文件,同时cc2538.h这个头文件包含了cc2538的硬件寄存器的地址信息。
另一个头文件的地方在:\RIOT\drivers\include\periph这个文件夹中。一定要打开进去看看这些文件。。。。
4、ldscripts文件夹中提供了不同版本的cc2538,因此在makefile中需要配置自己板子的文件,不过一般使用默认的就可以了。
2、复位之后的第一个函数
路径: \RIOT\cpu\cortexm_common\vectors_cortexm.c
在这个路径中找到函数void reset_handler_default(void),这个函数是复位后的第一个运行的函数,里面可以自己去看看里面具体做了一些什么事。值得注意的是函数kernel_init()。
3、kernel_init()
路径: \RIOT\core\kernel_init.c
这个问价下的函数里面创建了两个线程,空闲线程,main函数线程。因此我们可以在其他的文件里面直接定义main函数使用,就是因为这里已经定义了main函数线程。
4、为什么cc2538的uart的波特率是115200?
路径:\RIOT\boards\Makefile.include.serial
riot的所有例程和测试例程都包含了uart。可以说uart是贯穿了riot的所有例程。路径中的定义了所有平台的波特率为115200,只要这里修改了,如果要使用其他硬件平台,波特率也会改变。对于cc2538中,我们也可以通过调用uart的驱动文件中的函数去修改波特率。这个一下讲不清,后面在专门介绍一下。
————————————————
版权声明:本文为CSDN博主「莫九玉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mx1252111/java/article/details/52634057