要搞DAPLink,咱肯定得從最難最基礎(chǔ)的開始,先挑戰(zhàn)一下RT1021開發(fā)吧(LPC55S69全是現(xiàn)成的,沒啥意思)
與傳統(tǒng)不同的是,這次主要使用keil的RTE環(huán)境開發(fā),每次軟件相關(guān)的文章結(jié)束,我都會在文末附上工程以及pack環(huán)境,有興趣的可以跟著來一起研究。
開坑篇說要全程分享,那就一步一步來進行操作,首先第一步就是新建工程了。
打開keil,新建工程
起一個自己喜歡的名字
根據(jù)自己使用的芯片進行選擇,這里我用的是100腳的RT1021
這時候會出現(xiàn)一個彈窗,不要關(guān)閉,選擇圖中所示的兩個組件,然后點擊Resolve,自動消除警告
這些警告需要配置工程才可以消除,主要是c語言版本的問題,要c99以上的,點擊OK退出界面
創(chuàng)建User文件夾,用于存放自己的代碼
新建main.c文件
回到工程,把main.c加入工程中
從官方代碼庫中復(fù)制下圖兩個文件,分別是調(diào)試初始化文件,用于進入仿真的,分散加載文件,用于指定各個代碼段位置的
打開工程,對工程進行簡單的配置,主要是下面三部分
SKIP_SYSCLK_INIT, XIP_EXTERNAL_FLASH=1, XIP_BOOT_HEADER_ENABLE=1, XIP_BOOT_HEADER_DCD_ENABLE=1
打開MCUXpresso Config Tools,創(chuàng)建一個新的工程
根據(jù)自己使用的芯片進行選擇
這里根據(jù)自己需要選擇
時鐘界面沒啥好講的,根據(jù)自己需要發(fā)揮吧,這里我只是把主頻設(shè)置到500MHz,別的沒改動
先簡單寫一個小燈的程序試試水,根據(jù)實際電路,配置LED引腳
設(shè)置為輸出
保存工程,要把工程跟keil工程放在一起,這樣兩邊就能形成聯(lián)動
點擊生成代碼
回到keil中,這個彈窗全部點yes
編輯main.c文件,超級簡單的代碼
#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "peripherals.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
void delay(void)
{
volatile uint32_t i = 0;
for (i = 0; i < 8000000; ++i)
{
__NOP(); /* delay */
}
}
int main(void)
{
BOARD_InitPeripherals();
BOARD_InitBootPins();
BOARD_InitBootClocks();
while (1)
{
GPIO_PinWrite(BOARD_INITPINS_LED_GPIO, BOARD_INITPINS_LED_GPIO_PIN, 1U);
delay();
GPIO_PinWrite(BOARD_INITPINS_LED_GPIO, BOARD_INITPINS_LED_GPIO_PIN, 0U);
delay();
}
}
整體工程結(jié)構(gòu),里面綠色的都是keil生成的,其中不帶鑰匙的文件都是可以編輯的,Board Support里面的文件是由MCUXpresso Config Tools控制的
編譯無誤
下載到板子里面,完美運行
代碼工程
2.az158_dapLink.zip (63.75 KB,點擊下方附件下載)
當前環(huán)境