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

[复制链接]
312|8
手机看帖
扫描二维码
随时随地手机跟帖
brother0952|  楼主 | 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 顶部添加
#include "system_ac78xx.h"


board.c 的 rt_hw_board_init 改为
void rt_hw_board_init()
{        
        /* System Clock Update */
        //SystemCoreClockUpdate();
        
        /* System Tick Configuration */
        //_SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);
        _SysTick_Config(SYSCLK_FREQ  / RT_TICK_PER_SECOND);

    /* Call components board initial (use INIT_BOARD_EXPORT()) */
#ifdef RT_USING_COMPONENTS_INIT
    rt_components_board_init();
#endif
   
#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
        rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
   
#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)
    rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
#endif
}

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

#define LED2                                                (GPIOB_OUT(9))
#define LED3                                                (GPIOB_OUT(10))
                       
#define LED2_ON                                                do{LED2 = 1;}while(0)
#define LED2_OFF                                        do{LED2 = 0;}while(0)
#define LED2_TOGGLE                                        do{LED2 = !LED2;}while(0)
       
#define LED3_ON                                                do{LED3 = 1;}while(0)
#define LED3_OFF                                        do{LED3 = 0;}while(0)
#define LED3_TOGGLE                                        do{LED3 = !LED3;}while(0)

#define LED3_PIN                                        (GPIO_PB10)

typedef enum
{
        GPIO_INPUT        = 0,
        GPIO_OUTPUT        = 1
}GPIO_Dir_TypeDef;

void GPIO_InitHardwr(void)
{
        //GPIO_SetDir(LED2_PIN, GPIO_OUTPUT);
        GPIO_SetDir(LED3_PIN, GPIO_OUTPUT);
       
       
        LED2_OFF;
        LED3_OFF;
}

int main(void)
{
    InitDebug();
        GPIO_InitHardwr();
    while(1)
    {
        rt_thread_mdelay(500);
                        LED3_TOGGLE;
        printf("this is man func\r\n");   
    }
}



四运行:
toggle.gif

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

使用特权

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

使用特权

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

使用特权

评论回复
laocuo1142| | 2020-11-30 16:14 | 显示全部楼层
国产替代,迫在眉睫!

使用特权

评论回复
天意无罪| | 2020-12-2 08:19 | 显示全部楼层
不错,国产芯片加国产操作系统,希望国产能抓住这次机会发展啊。

使用特权

评论回复
嵌入小菜菜| | 2020-12-8 22:04 | 显示全部楼层
附件就是资料包吗?

使用特权

评论回复
名字是啥样| | 2020-12-12 17:12 | 显示全部楼层
很棒的试验,感谢分享,不错,不错的。

使用特权

评论回复
fuqinyyy| | 2020-12-14 07:30 | 显示全部楼层
学习了,感谢楼主分享。

使用特权

评论回复
luoyangyang| | 2020-12-17 09:22 | 显示全部楼层
移植的是nano版本吗

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则