搜索

[活动专区] 【AC7811开发板试用活动】移植rt-thread并点个灯

[复制链接]
39|2
 楼主 | 2020-11-21 23:37 | 显示全部楼层 |阅读模式
本帖最后由 brother0952 于 2020-11-21 23:40 编辑

申请板子的时候,写了要移植rt-thread,弄了一半,发现这位大佬已经完成了。。。。我补充一点细节吧
向大佬致敬 https://bbs.21ic.com/icview-3045236-1-1.html。

一、环境:
autochip的官网 http://www.autochips.com/jk/MCU1/info_225.aspx?pid=531&typeid=225 下载 AutoChips.AC781x_DFP.1.1.0.pack,见下图 forum.png

安装keil的rt-thread  支持包,见下图
rt-thread.png

二 建工程:
选择芯片 AC7811QBGE
RTE 加载 rt-thread
rte.png

三改文件:
board.c 顶部添加
  1. #include "system_ac78xx.h"
复制代码


board.c 的 rt_hw_board_init 改为
  1. void rt_hw_board_init()
  2. {        
  3.         /* System Clock Update */
  4.         //SystemCoreClockUpdate();
  5.         
  6.         /* System Tick Configuration */
  7.         //_SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);
  8.         _SysTick_Config(SYSCLK_FREQ  / RT_TICK_PER_SECOND);

  9.     /* Call components board initial (use INIT_BOARD_EXPORT()) */
  10. #ifdef RT_USING_COMPONENTS_INIT
  11.     rt_components_board_init();
  12. #endif
  13.    
  14. #if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
  15.         rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
  16. #endif
  17.    
  18. #if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)
  19.     rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
  20. #endif
  21. }
复制代码

添加main.c 文件,加入到工程中
  1. #include "ac78xx.h"
  2. #include "ac78xx_debugout.h"
  3. #include <rtthread.h>
  4. #include "ac78xx_gpio.h"

  5. #define LED2                                                (GPIOB_OUT(9))
  6. #define LED3                                                (GPIOB_OUT(10))
  7.                        
  8. #define LED2_ON                                                do{LED2 = 1;}while(0)
  9. #define LED2_OFF                                        do{LED2 = 0;}while(0)
  10. #define LED2_TOGGLE                                        do{LED2 = !LED2;}while(0)
  11.        
  12. #define LED3_ON                                                do{LED3 = 1;}while(0)
  13. #define LED3_OFF                                        do{LED3 = 0;}while(0)
  14. #define LED3_TOGGLE                                        do{LED3 = !LED3;}while(0)

  15. #define LED3_PIN                                        (GPIO_PB10)

  16. typedef enum
  17. {
  18.         GPIO_INPUT        = 0,
  19.         GPIO_OUTPUT        = 1
  20. }GPIO_Dir_TypeDef;

  21. void GPIO_InitHardwr(void)
  22. {
  23.         //GPIO_SetDir(LED2_PIN, GPIO_OUTPUT);
  24.         GPIO_SetDir(LED3_PIN, GPIO_OUTPUT);
  25.        
  26.        
  27.         LED2_OFF;
  28.         LED3_OFF;
  29. }

  30. int main(void)
  31. {
  32.     InitDebug();
  33.         GPIO_InitHardwr();
  34.     while(1)
  35.     {
  36.         rt_thread_mdelay(500);
  37.                         LED3_TOGGLE;
  38.         printf("this is man func\r\n");   
  39.     }
  40. }
复制代码



四运行:
toggle.gif

附件:
my_rtt.zip (57.6 KB, 下载次数: 1)

使用特权

评论回复
 楼主 | 2020-11-21 23:41 | 显示全部楼层

使用特权

评论回复
| 2020-11-27 15:08 | 显示全部楼层
这个移植还挺有意义

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表