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