nuttx配置说明及编译

转载请注明http://blog.csdn.net/huwanxin110?viewmode=contents

Nuttx的配置全在configs文件夹当中,里面预先提供了多种开发板的配置。

以stm32f746g-disco为例

Include文件夹中只包含一个文件board.h

Board.h中,采用宏定义的方式设置各参数

   1.对时钟系统设置

   2.对引脚配置

    如:#defineGPIO_USART6_RX GPIO_USART6_RX_1

#define GPIO_USART6_TX GPIO_USART6_TX_1

     就是对串口6输入输出引脚的配置,其中GPIO_USART6_RX_1为默认配置,定义在

Arch/arm/src/chip/chip/stm32f76xx77xx_pinmap.h中。

扫描二维码关注公众号,回复: 3452620 查看本文章

Kernel和nsh应该是2种不同的调试方式,我选用的nsh,里面包含2个文件

Make.defs定义了编译make中的一些规则和命令

Defconfig就很重要了,可叫做总体配置文件。

  它配置了编译环境,芯片选择,系统内是否开启某通讯接口(如串口、i2c),以及通讯口配置,等等很多配置信息

  这些配置可以修改,比如我需要用usart2来进行调试

  CONFIG_USART2_SERIALDRIVER=y            使能串口驱动

CONFIG_STM32F7_USART2=y                使能串口

CONFIG_USART1_SERIAL_CONSOLE=y         使用usart2作为控制端口

CONFIG_USART1_RXBUFSIZE=256             接受buff

CONFIG_USART1_TXBUFSIZE=256

CONFIG_USART1_BAUD=115200             波特率

CONFIG_USART1_BITS=8                    数据位

CONFIG_USART1_PARITY=0                  奇偶校验

CONFIG_USART1_2STOP=0                  停止位

还有别忘了

CONFIG_USBDEV=y                        使能usb设备

Script估计是连接脚本

Src里面为自定义的一些配置,和deconfig中可能有重叠(可能它的初衷就是让我们在这里添加配置)

.h文件:宏定义了引脚配置和申明一些初始化函数

Stm32_boot.c是  stm32_boardinitialize()函数定义(该函数在最初的启动文件arch\arm\src\chip\start.c中执行)

其它.c文件都是stm32_boardinitialize()中的子函数

配置方式:(参考官网http://www.nuttx.org/doku.php?id=documentation:portingguide

在根目录下进入tools


用配置脚本 如上进行配置,选择你使用的板卡/nsh

接下来需要链接一些文件

  回到根目录

  同样的方式链接其他文件夹

然后执行make

可能出现错误,反正都是一些链接的错误,会多一些连接,用rm –r 进行链接的删除即可,也可手动删除文件夹。

没问题了后就会编译一段时间最后

生成.hex  .bin就大功告成了

猜你喜欢

转载自blog.csdn.net/huwanxin110/article/details/78128074