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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
nano的MDK移植
: `  M: [+ h1 M, ~/ G+ I# @' D0 R# X( p; b' c! J
board.c 中rt_hw_board_init()报错
# L' X2 ^* P; A! P1 j; b2 f#error "TODO 1: OS Tick Configuration."# ~' n! E# }9 n5 E  c

( k: W  N! E. Y7 k- Yvoid rt_hw_board_init(void)! y  f! M& W% l$ a" ?. l2 z5 C
{
  O8 T+ y+ E/ ^" Q+ p# o/*( t$ r8 S6 E: ?
: q) D  o6 b, _" D; d3 P
TODO 1: OS Tick Configuration
6 o( _+ k+ N( n- P2 h( D5 M3 rEnable the hardware timer and call the rt_os_tick_callback function* b" g% g, Y& c( g
periodically with the frequency RT_TICK_PER_SECOND.+ Q4 C6 V6 c7 ?% Q  R+ C
/" O8 V' w. j3 E# e0 v, t1 K
/ 1、系统、时钟初始化 /
! H# z# k: F: b/ |% R# HHAL_Init(); // 初始化 HAL 库 ** waring:is invalid in c99*5 X- _; E3 t# D4 \8 G' Q6 e  P
SystEMClock_Config(); // 配置系统时钟 waring:is invalid in c998 I" q8 H, k) e* k; P
SystemCoreClockUpdate(); // 对系统时钟进行更新 waring:is invalid in c99. m- j# y4 f" ^; _- _: p+ @4 R- Q
/* 2、OS Tick 频率配置,RT_TICK_PER_SECOND = 1000 表示 1ms 触发一次中断 /. ^: t5 G* E- [% c' i
SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND); ** SystemCoreClock不能识别*
% V3 K/ _  U& q, R& ?7 O  A/* Call components board initial (use INIT_BOARD_EXPORT()) */
' a) s3 O2 K' t" G! [#ifdef RT_USING_COMPONENTS_INIT  Q  h3 p' j# Q  `
rt_components_board_init();
6 e$ x* Q# F7 s$ B. B% g) O8 r#endif& |/ R4 H: h* t1 j
#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)% g0 M+ h+ l" ~
rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());9 x' }8 D8 j1 [/ F2 M
#endif! ?2 W' t* B! m9 r  T9 H* B
}

该用户从未签到

2#
发表于 2022-10-10 13:07 | 只看该作者
这应该只是个提示,提示先要把 systick 配置好。配置好后,这个提示就可以关闭了或者手动注释掉,board.c文件默认是平台适配的,用户需要手动配置时钟、systick定时器等。
: |& I1 N" H6 q$ r6 w

该用户从未签到

3#
发表于 2022-10-10 13:22 | 只看该作者
一般我们使用
2 I+ Z6 H6 l5 U- E/ W* R5 U2 v% M  H! o: I$ _0 W- q+ _
#error "TODO 1: OS Tick Configuration."! l4 f9 D: m$ }) P! [4 U
提示用户,这里需要做移植适配,仅此而已。
( B7 n. G7 I, D$ ?( F, {5 ~

该用户从未签到

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);动态创建,所以为了能使用,开启此处使能既可以。
0 o0 @+ B  Y, q. h, W5 d% w
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 16:18 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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