HC32L130移植freeRTOS

1.下载freeRTOS源码以及HC32L13x工程源码。解压到当前目录

2,新建文件夹命令为HC32L13x_freeRTOS

3.复制HC工程目录下的driver,mcu两个文件夹到HC32L13x_freeRTOS目录下

4.复制HC32L13x_DDL_Rev2.1.0\HC32L13x_DDL_Rev2.1.0\example\gpio\gpio_output目录下的MDK以及source文件夹到HC32L13x_freeRTOS文件夹

5.打开MDK目录,将项目名更改为HC32L13x_freeRTOS,并打开工程,调整到可编译成功。

重新指向目录及头文件目录,编译OK后,开始移植freeRTOS。

6.在HC32L13x_freeRTOS目录下新建文件夹freeRTOS文件夹,用来存放freeRTOS源码,

打开先前下载解码的freeRTOS源码包,进入\FreeRTOSv202212.01\FreeRTOS\Source全部复制到自己工程目录下的HC32L13x_freeRTOS\freeRTOS文件夹下。

7.打开HC32L13x_freeRTOS\freeRTOS\portable目录,将MemMang和RVDS以外的全部删除,

8.打开RVDS目录,将ARM_CM0以外的目录全部删除,只保留ARM_CM0。

9.接下来开始将源码添加到工程。在Groups下新建freeRTOS项,添加将才的freeRTOS源码添加到freeRTOS下。

添加heap_4.c

添加port.c

10.在freeRTOS源码工程demo下随便找个CORTEX_M0的工程,将FreeRTOSConfig.h文件复制到自己工程freeRTOS目录下。、

 11,添加头文件引用 

12,将ARM Compiler设置为版本5,并编译工程。

13.编译报错提示.\output\release\gpio_output.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by port.o and interrupts_hc32l13x.o).

此时我们将interrupts_hc32l13x.c下的void_sysTick_Handler函数屏蔽。再次编译。

编译提示内存不足

我们修改FreeRTOSConfig.h

#define configTOTAL_HEAP_SIZE            ( ( size_t ) ( 5*1024 ) )再次编译,

再次报错,提示3个钩子函数没有定义,我们先将宏关闭,

再次编译,没有问题了。

14.接下来创建任务测试

以下是我的FreeRTOSConfig.h配置,main.c里面补充了几个钩子函数:

/*
 * FreeRTOS V202212.01
 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restricti

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值