FreeRTOS移植到F1C100S, 含GCC和keil版本
内含测试例程, 测试通过
按个人修改只需几个地方:
//开定时器
static void prvSetupTimerInterrupt(void)
{
Timer_Init(TIMER1, 1000000 / configTICK_RATE_HZ, 1);
request_irq(IRQ_TIMER1, vPreemptiveTick, 0); //register int
Timer_enable(TIMER1);
}
//修改中断入口函数
_software_interrupt:
.word vPortYieldProcessor /*for freerots, if no os, this is software_interrupt */
_irq:
.word vFreeRTOS_ISR /*for freertos, if no os, this is irq */
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
本人移植过程中发现了个问题:
当时参考例程的任务切换是汇编的:
__asm volatile
(
" bl xTaskIncrementTick \t\n" \
" cmp r0, #0 \t\n" \
" beq SkipContextSwitch \t\n" \
" bl vTaskSwitchContext \t\n" \
"SkipContextSwitch: \t\n"
);
编译通过, 但一运行就卡死
折腾一番后, 最后将上面的汇编译成C代码, 运行成功
(这里看两者意图是一样的, 不明白, 望有高人指点)
if(xTaskIncrementTick()!=0)
{
vTaskSwitchContext();
}
离线
好耶,感谢分享。等的就是这个
离线
离线
终于有人移植freertos了,看看怎么做的
离线
离线
[/quote=笔走天下]赶紧学习下,看看怎么实现的
不是完整的keil工程啊,只有c文件h文件
离线
不是完整的工程,建议给出完整程序或参考的地址,方便大家研究。
离线
我觉得 f1c100s 缺的不是RTOS,而是各种外设裸机的驱动
离线
到目前我找到可以在我的F1C100S板上运行起来的,只有荔枝派群里的xuyao2020-F1C100s_with_Keil_RTX4_emWin5-master
其他的能够烧录,烧录完成后重新上电无反映。
想用到双串口、TF卡、USB读写U盘,新手的我无从着手
离线
今天参考F1C100s_with_Keil_RTX4_emWin5的程序,移除了操作系统和GUI,驱动在Xboot的程序里面有一些,要加入I2C和SPI,操作系统看到时用FREERTOS还是ThreadX,ThreadX的全家桶真是好用。
离线
楼主,能看下这两个文件是怎么实现的吗?
timer_f1c100s.h
irq_misc.h
离线
学习,这个芯片性能真的可以,STM32系列价格还是比较贵
离线
芯片性能比cortex的要好不少,最好的是有内部的DRAM,FALSH的扩展使用SPI总线,PCB设计和生产都容易,就是资料太少,尤其是第三方的RTOS。
离线
啊,,居然还能跑FreeRTOS
离线
很少上线, 不好意思,
有人说想要完整工程, 但我没单独实验工程, 我的工程功能多比较大, 且交叉性强, 单独做工程麻烦,
工程是在 https://whycan.com/p_11825.html USB工程上添加的
移植有什么问题发出来吧!
离线
离线
离线
V3S 或者 S3有移植版本么,想冒死试一试。
离线
非常好,楼主辛苦了
__asm volatile
(
" bl xTaskIncrementTick \t\n" \
" cmp r0, #0 \t\n" \
" beq SkipContextSwitch \t\n" \
" bl vTaskSwitchContext \t\n" \
"SkipContextSwitch: \t\n"
);
汇编中的这一句最可疑, SkipContextSwitch: 地址是哪里不知道啊
离线
我觉得 f1c100s 缺的不是RTOS,而是各种外设裸机的驱动
全志把资料给保密了,可能是商业原因吧,可能见到过的mpu芯片只要能上linux的都是这样的,不知道是什么原因。
离线
freeRTOS RTX 几个版本的都能找到 就是裸机的驱动到处下的都不全,
离线
学习,这个芯片性能真的可以,STM32系列价格还是比较贵
但是这个不能像MCU那样做到硬实时吧?
离线
F1C100S_FreeRTOS_AWTK
Can anyone share this file here?
离线
其实F1C100在工控上用裸机更简单一些,就是资料有太少了。
离线
F1C100在很多串口屏上在用,我之前买的几款串口屏都是
离线
rtthread资料也很少
离线
原厂的网站原来是有支持的,现在找不到了!!
离线
感谢楼主,论坛里面只找到keil可用的版本
离线
@Aysi
不保存lr就用bl
离线
有移植ucos的吗
离线
f1c200s 应该也能用吧
离线
白下载了,都是散文件。我在个freeRTOS的版本,但是不完善,不能开消息、互斥量等,只实现了多线程
离线
离线
pudn4120537.rar 拿走,不谢
Thank you kind man.
离线
@Aysi
这个能用吗?好像不能下载
离线
最近也在移植FreeRTOS到f1c100s,好几天了,怎么也跑不起来,tick好像也不运行
离线
这个好像也下不了,有期限么?
离线