查看: 1707|回复: 1

[分享] 【MCX-N947-BRK板卡试用】-3-启动RTThread

[复制链接]
  • TA的每日心情
    慵懒
    2024-5-23 06:13
  • 签到天数: 1082 天

    连续签到: 1 天

    [LV.10]以坛为家III

    18

    主题

    1974

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    6164
    最后登录
    2025-7-26
    发表于 2024-4-8 19:03:10 | 显示全部楼层 |阅读模式
    本帖最后由 SensorYoung 于 2024-4-8 21:23 编辑

    本文记录一下在Keil下使用Jlink烧录RTThread固件的过程。

    首先在Git下载最新的Rtthread固件库,把frdm-mcxn947文件夹复制并rename:mcxn947-brk.

    1.jpg

    使用Jlink RTTview打印,添加相关C和H文件:

    1. #include <rtdevice.h>
    2. #include <rtthread.h>
    3. #include "drv_pin.h"

    4. #include "SEGGER_RTT.h"
    5. #include "SEGGER_RTT_Conf.h"

    6. #define LEDB_PIN        ((3*32)+4)
    7. #define BUTTON_PIN      ((0*32)+6)

    8. static void sw_pin_cb(void *args);

    9. int main(void)
    10. {
    11. #if defined(__CC_ARM)
    12.     rt_kprintf("using armcc, version: %d\n", __ARMCC_VERSION);
    13. #elif defined(__clang__)
    14.     rt_kprintf("using armclang, version: %d\n", __ARMCC_VERSION);
    15. #elif defined(__ICCARM__)
    16.     rt_kprintf("using iccarm, version: %d\n", __VER__);
    17. #elif defined(__GNUC__)
    18.     rt_kprintf("using gcc, version: %d.%d\n", __GNUC__, __GNUC_MINOR__);
    19. #endif

    20.     rt_pin_mode(LEDB_PIN, PIN_MODE_OUTPUT);  /* Set GPIO as Output */

    21.     rt_pin_mode(BUTTON_PIN, PIN_MODE_INPUT_PULLUP);
    22.     rt_pin_attach_irq(BUTTON_PIN, PIN_IRQ_MODE_FALLING, sw_pin_cb, RT_NULL);
    23.     rt_pin_irq_enable(BUTTON_PIN, 1);

    24.     rt_kprintf("MCXN947 HelloWorld\r\n");
    25.                 SEGGER_RTT_printf(0,"MCXN947 HelloWorld\r\n");


    26. #ifdef RT_USING_SDIO
    27.     rt_thread_mdelay(2000);
    28.     if (dfs_mount("sd", "/", "elm", 0, NULL) == 0)
    29.     {
    30.         rt_kprintf("sd mounted to /\n");
    31.     }
    32.     else
    33.     {
    34.         rt_kprintf("sd mount to / failed\n");
    35.     }
    36. #endif

    37.     while (1)
    38.     {
    39.         rt_pin_write(LEDB_PIN, PIN_HIGH);    /* Set GPIO output 1 */
    40.         rt_thread_mdelay(1000);               /* Delay 500mS */
    41.         rt_pin_write(LEDB_PIN, PIN_LOW);     /* Set GPIO output 0 */
    42.         rt_thread_mdelay(1000);               /* Delay 500mS */
    43.     }
    44. }

    45. static void sw_pin_cb(void *args)
    46. {
    47.     rt_kprintf("sw pressed\r\n");
    48.           SEGGER_RTT_printf(0,"sw pressed\r\n");
    49. }

    50. // end file
    复制代码


    其中,如下LED和BUTTON,需要根据MCXN-947 BRK板子的实际情况,修改后如下:
    1. #define LEDB_PIN        ((3*32)+4)
    2. #define BUTTON_PIN      ((0*32)+6)
    复制代码




    如下需要更改:

    3.jpg

    下载选项Jlink

    2.jpg

    下载之前,需要把如下两个文件放在项目同级文件夹:

    JLinkSettings.zip (1.56 KB, 下载次数: 1)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-12-9 14:23
  • 签到天数: 204 天

    连续签到: 1 天

    [LV.7]常住居民III

    7

    主题

    567

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1143
    最后登录
    2025-3-12
    发表于 2024-4-9 08:18:43 | 显示全部楼层
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-27 12:26 , Processed in 0.087269 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表