nuttx配置說明及編譯

2021-08-08 20:46:35 字數 1885 閱讀 3720

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中。

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()中的子函式

配置方式:(參考官網

在根目錄下進入tools

用配置指令碼 如上進行配置,選擇你使用的板卡/nsh

接下來需要鏈結一些檔案

回到根目錄

同樣的方式鏈結其他資料夾

然後執行make

可能出現錯誤,反正都是一些鏈結的錯誤,會多一些連線,用rm –r 進行鏈結的刪除即可,也可手動刪除資料夾。

沒問題了後就會編譯一段時間最後

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

Nuttx的編譯與構建

nuttx是乙個實時作業系統 rtos 可以執行在8位至32位微控制器。它符合posix和ansi標準 是乙個類linux的作業系統。維基百科 編譯環境 xubuntu 14.10 32位 在編譯之前要先安裝各種依賴包。sudo apt get install autoconf libtool gp...

Nuttx開發初探 編譯篇

各類系統搞了這麼多年,感覺關於os的各類底層機制已經摸透了,直到兩年前遇到nuttx,大致瀏覽了目錄結構和原始碼readme後,感覺nuttx應該是乙個不錯的系統,有瓜可挖。只是一直忙於專案,沒有時間深入研究。直到翻出之前參加某活動獲贈的frdm k64f開發板在那靜靜吃灰,有了想動一動的衝動。廢話...

Dotfuscator配置及說明

概述 c 編寫的 如果不進行一定程度的混淆和加密,那麼是非常容易被反編譯進行破解的,特別是對於一些商業用途的c 軟體來說,因為盯著的人多,更是極易被攻破。使用dotfuscator有助於防止程式被逆向工程,同時使程式更小和更高效。c 編寫的 如果不進行一定程度的混淆和加密,那麼是非常容易被反編譯進行...