找回密码
 注册
关于网站域名变更的通知
查看: 301|回复: 3
打印 上一主题 下一主题

RT-Thread nano pack中board.c配置错误怎么办?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-10 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
nano的MDK移植
6 e8 g- [. H" p* m* ^' \( q4 H9 k: j' s
board.c 中rt_hw_board_init()报错! O1 E) Z8 ~2 g9 [
#error "TODO 1: OS Tick Configuration."& R" r3 }* C: p  h

  k+ G. I8 h4 k! q# n! I% jvoid rt_hw_board_init(void)
' Z& a# C6 X, {! M( H{3 x' }6 N  B( h$ b, z9 v# d
/*, m$ w+ [$ a8 @3 x) `* a( I% D5 {% S# {

, o, }" B: X1 }' G% N+ _TODO 1: OS Tick Configuration
' z3 |8 D5 D  Z* EEnable the hardware timer and call the rt_os_tick_callback function
# N/ b" |. N' n% q5 N6 Uperiodically with the frequency RT_TICK_PER_SECOND.8 n; I3 J% g/ R# W
/
5 X% v" W1 m# Q: e/ 1、系统、时钟初始化 /' M* B% t% _4 V  i4 }2 V
HAL_Init(); // 初始化 HAL 库 ** waring:is invalid in c99*
6 d0 v; D- J- ]) |7 [* oSystEMClock_Config(); // 配置系统时钟 waring:is invalid in c99' i6 A' [. O1 g
SystemCoreClockUpdate(); // 对系统时钟进行更新 waring:is invalid in c99
9 H2 A. U! y  x/* 2、OS Tick 频率配置,RT_TICK_PER_SECOND = 1000 表示 1ms 触发一次中断 /; N" H/ h7 q$ s- ~4 K) y8 N3 c
SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND); ** SystemCoreClock不能识别*
7 ~. c7 E8 O1 u. j  x$ w1 {/* Call components board initial (use INIT_BOARD_EXPORT()) */
5 y. _$ \5 A0 k) F" \0 `#ifdef RT_USING_COMPONENTS_INIT
: K' K6 t2 M# v/ R4 }7 Zrt_components_board_init();% o. w9 Y& z2 R: I
#endif5 s+ A) z+ H4 R. a+ y
#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)
/ I# R. R6 t6 |8 G) t, z5 p. lrt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());& z0 B1 _3 I9 a( p# b% ]% U
#endif
/ A! S4 @; X5 p2 \7 f; W$ h}

该用户从未签到

2#
发表于 2022-10-10 13:07 | 只看该作者
这应该只是个提示,提示先要把 systick 配置好。配置好后,这个提示就可以关闭了或者手动注释掉,board.c文件默认是平台适配的,用户需要手动配置时钟、systick定时器等。
! I) e1 K; f* t4 ~6 m7 g- W0 l

该用户从未签到

3#
发表于 2022-10-10 13:22 | 只看该作者
一般我们使用. M- h: ~2 B5 j" {- ?

, o* r: e/ h. _2 |% Z3 Q) V: I! o#error "TODO 1: OS Tick Configuration."
9 C5 l& m. q3 D+ r2 A' }提示用户,这里需要做移植适配,仅此而已。$ h- @9 U$ {6 D. h% A9 ~6 i  a

该用户从未签到

4#
发表于 2022-10-10 13:52 | 只看该作者
nano版本默认配置,使用线程是静态创建得只能使用rt_thread_init(struct rt_thread* thread, const char* name, void (*entry)(void* parameter), void* parameter, void* stack_start, rt_uint32_t stack_size, rt_uint8_t priority, rt_uint32_t tick);而一般使用比较多得rt_thread_create(const char* name, void (*entry)(void* parameter), void* parameter, rt_uint32_t stack_size, rt_uint8_t priority, rt_uint32_t tick);动态创建,所以为了能使用,开启此处使能既可以。4 O( A* T& p3 R4 n
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 05:09 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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