本帖最后由 大懒猫 于 2024-8-4 17:20 编辑

昨天拿到先楫HPM5301EVKLITE开发板,今天花了一天时间搭建开发环境和下载。提供的文档太多太杂,摸索了一个上午,也没有得到任何收获。直到下午4点的时候,终于调通了整个开发环境以及实现程序下载。说明如下:

1、在RTT中已经提供了这个开发板的SDK库,所以开发的话,建议使用RTT来开发。需要特别说明的是,在使用1.6的库搭建工程的时候,提供的例程在编译时出现在错误,于是转而使用1.5的,这个版本的例程,编译没问题。
2、关于下载

按照文档说明,可以使用JLink,但看到有的网友说要是用JLink11,而我手里的只有V9.所以放弃使用JLInk了,转而考虑使用串口配合先楫的烧录软件完成下载。在走了一些弯路后,看相关的用户手册,才搞明白,要想实现串口连接、烧录,是需要特殊步骤的。在未连接电源的时候,按着开发板上的用户按钮(靠近JLink接口的那个按钮),然后接入电源(我用的是USB电源),然后松开按钮。此时使用HPM Programmer程序就可以正常连接上开发板了。

图片1.png
在使用串口下载的时候,要选择开发板提供的RX0,TX0连接。
接口.png

为了证明整个过程是正常的,我专门修改了RTT提供的例程,把LED的周期调整为2秒,把编译、链接后的BIN文件下载到开发板上,然后按复位键,可以看到红色的LED已经按照2秒的周期闪烁了,说明OK。至此,整个开发、下载烧录已经打通,后面继续深入学习!


RTT下的测试例程:
  1. #include <rtthread.h>
  2. #include <rtdevice.h>
  3. #include "rtt_board.h"

  4. void thread_entry(void *arg);



  5. int main(void)
  6. {

  7.     app_init_led_pins();

  8.     static uint32_t led_thread_arg = 0;
  9.     rt_thread_t led_thread = rt_thread_create("led_th", thread_entry, &led_thread_arg, 1024, 1, 10);
  10.     rt_thread_startup(led_thread);

  11.     return 0;
  12. }


  13. void thread_entry(void *arg)
  14. {
  15.     while(1){
  16.         app_led_write(0, APP_LED_ON);
  17.         rt_thread_mdelay(2000);
  18.         app_led_write(0, APP_LED_OFF);
  19.         rt_thread_mdelay(2000);
  20.         app_led_write(1, APP_LED_ON);
  21.         rt_thread_mdelay(2000);
  22.         app_led_write(1, APP_LED_OFF);
  23.         rt_thread_mdelay(2000);
  24.         app_led_write(2, APP_LED_ON);
  25.         rt_thread_mdelay(2000);
  26.         app_led_write(2, APP_LED_OFF);
  27.         rt_thread_mdelay(2000);
  28.     }
  29. }
运行效果:
demo.gif