查看: 491|回复: 7

[原创] MCX先手尝鲜--10.小结与一“线”开发

[复制链接]
  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1114

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7760

    热心会员

    最后登录
    2024-4-30
    发表于 2024-1-21 17:57:11 | 显示全部楼层 |阅读模式
    本帖最后由 az158 于 2024-1-21 17:55 编辑

    搞了这么长实际MCX了,前面这么多篇水啊水,一直就在搞开发环境这部分,搞啊搞,也算有个小结果了。
    简单来看有这几种开发方式。
    方式1:板子接下载器,串口通过排母接USB转串口工具输出,这也是最符合之前开发习惯的方式。
    方式2:板子接下载器,通过SWO或者RTT打印输出,这种方式省了个串口工具。
    方式3:板子使用USB ISP下载,通过USB模拟串口进行打印,这种方式只需要一根USB转USBMicro的线就可以了,也就是一“线”开发。

    方式1跟方式2比较普通,咱今天分享一下方式3的工程。

    工程结构
    微信截图_20240121174910.png

    主要代码
    1. #include "fsl_device_registers.h"
    2. #include "fsl_debug_console.h"
    3. #include "pin_mux.h"
    4. #include "board.h"
    5. #include "fsl_runbootloader.h"

    6. #include "fsl_common.h"
    7. #include "usb_device_config.h"
    8. #include "usb.h"
    9. #include "usb_device.h"
    10. #include "usb_phy.h"
    11. #include "fsl_component_serial_port_usb.h"

    12. #include "usb_isp.h"

    13. volatile uint32_t g_systickCounter;

    14. void SysTick_Handler(void)
    15. {
    16.     if (g_systickCounter != 0U)
    17.     {
    18.         g_systickCounter--;
    19.     }
    20. }

    21. void SysTick_DelayTicks(uint32_t n)
    22. {
    23.     g_systickCounter = n;
    24.     while (g_systickCounter != 0U)
    25.     {
    26.     }
    27. }

    28. int main(void)
    29. {
    30.     BOARD_InitPins();
    31.     BOARD_PowerMode_OD();
    32.     BOARD_InitBootClocks();
    33.    
    34.     USB_DeviceClockInit();
    35.     DbgConsole_Init((uint8_t)kSerialManager_UsbControllerEhci0, (uint32_t)NULL, kSerialPort_UsbCdc, (uint32_t)NULL);
    36.     ISP_BootKeyInit();
    37.    
    38.     CLOCK_EnableClock(kCLOCK_Gpio3);
    39.     LED_RED_INIT(LOGIC_LED_OFF);
    40.    
    41.     if (SysTick_Config(SystemCoreClock / 1000U))
    42.     {
    43.         while (1)
    44.         {
    45.         }
    46.     }

    47.     while (1)
    48.     {
    49.         PRINTF("hello world.\r\n");
    50.         /* Delay 1000 ms */
    51.         SysTick_DelayTicks(1000U);
    52.         GPIO_PortToggle(BOARD_LED_RED_GPIO, 1u << BOARD_LED_RED_GPIO_PIN);
    53.     }
    54. }
    复制代码

    第一次下载需要通过按下SW3 —> 按下SW2 —> 松开SW2 —> 松开SW3的方式进入ISP模式(之后就不需要了)。

    双击进行烧录。
    微信截图_20240121174829.png
    代码会自动复位运行,小灯开始闪烁,这时候打开串口就能发现打印输出。
    微信截图_20240121175150.png

    之后再进入ISP模式只需要按一下SW3就可以了,十分方便。

    10.一“线”开发.zip (1.33 MB, 下载次数: 3)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3303

    主题

    6550

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32063
    最后登录
    2024-4-30
    发表于 2024-1-22 08:23:20 | 显示全部楼层
    又是全力输出的一个周末
    签到签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1114

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7760

    热心会员

    最后登录
    2024-4-30
     楼主| 发表于 2024-1-22 08:49:06 | 显示全部楼层
    NXP管管 发表于 2024-1-22 08:23
    又是全力输出的一个周末

    水水更健康
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 07:52
  • 签到天数: 137 天

    [LV.7]常住居民III

    9

    主题

    297

    帖子

    0

    高级会员

    Rank: 4

    积分
    702
    最后登录
    2024-5-5
    发表于 2024-1-22 09:02:33 | 显示全部楼层
    还有这种神操作呀,感谢版主大大的分享!
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    91

    主题

    2931

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    7818
    最后登录
    2024-4-30
    发表于 2024-1-22 11:06:14 | 显示全部楼层
    继续跟大佬学习。
    加油哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1114

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7760

    热心会员

    最后登录
    2024-4-30
     楼主| 发表于 2024-1-22 19:12:15 | 显示全部楼层
    jundao721 发表于 2024-1-22 11:06
    继续跟大佬学习。

    搞起
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-3-30 01:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    4

    主题

    54

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    204
    最后登录
    2024-5-5
    发表于 2024-3-30 09:37:29 | 显示全部楼层
    版主大大,我想问下,如果换成rtthread的例程,为什么端口就会消失掉啊,有没有遇到这个情况
    好难啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1114

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7760

    热心会员

    最后登录
    2024-4-30
     楼主| 发表于 2024-3-30 13:20:29 | 显示全部楼层
    eefocus_3963857 发表于 2024-3-30 09:37
    版主大大,我想问下,如果换成rtthread的例程,为什么端口就会消失掉啊,有没有遇到这个情况 ...

    RTT默认是使用串口作为打印输出的,你需要看看官方使用的哪几个接口,然后用外置的USB转串口模块进行通信才行。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-6 01:03 , Processed in 0.126690 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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