搜索
bottom↓
回复: 32

freertos给的例程KEIL4都编译不过,还没入门就要放弃?

[复制链接]

出5入16汤圆

发表于 2019-12-20 14:38:58 | 显示全部楼层 |阅读模式
本帖最后由 abigpad 于 2019-12-21 09:39 编辑

谢谢大家的建议,我更改一下:
freeos->freertos
ST103->STM32F103
最近想给STM32F103上个操作系统,就选freertos ,找教程9.0版本的资料多,竟然发现带的KEIL 版本,keil4编译不通过,但是你明明用的keil 版本是2。
这个是freertos 的锅,还是KEIL 的锅?

后来发现keil5 能编译通过。
但是我就是不喜欢KEIL5。




下载了FreeRTOSv8.2.2,keil4可以正常编译。先拿这个版本练手了。

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2019-12-20 14:50:24 | 显示全部楼层
建议你放弃

出0入147汤圆

发表于 2019-12-20 14:57:51 | 显示全部楼层
就是把__asm挪个位置的事, 这都弄不明白, 建议你放弃

出0入0汤圆

发表于 2019-12-20 15:08:39 | 显示全部楼层
ST103 freeos这称呼不知道是从哪来的。

出130入129汤圆

发表于 2019-12-20 15:56:56 来自手机 | 显示全部楼层
hyghyg1234 发表于 2019-12-20 15:08
ST103 freeos这称呼不知道是从哪来的。

就冲两个名词错的就应该放弃了。

出0入0汤圆

发表于 2019-12-20 16:03:31 | 显示全部楼层
直接cube生成代码,自带freertos。完事。

出5入16汤圆

 楼主| 发表于 2019-12-20 16:24:25 | 显示全部楼层
dreampet 发表于 2019-12-20 14:57
就是把__asm挪个位置的事, 这都弄不明白, 建议你放弃

我只复制了,一部分,我也知道 汇编函数不能内联,但是后面的函数又有汇编,又有c,刚开始用,修改关键代码。

出100入113汤圆

发表于 2019-12-20 16:27:43 | 显示全部楼层
CubeMX 可以生成各种开发环境的,稳定性还是非常好的。

出5入16汤圆

 楼主| 发表于 2019-12-20 16:28:31 | 显示全部楼层
本帖最后由 abigpad 于 2019-12-20 16:33 编辑
hyghyg1234 发表于 2019-12-20 15:08
ST103 freeos这称呼不知道是从哪来的。


ST 103 有多少异议?杠精吗?

ST的103 有错吗?


ST是公司,M 微型电子。

不写M 就 不是 ST 103单片机了吗?

freeos 非得写成 freertos

???

windows7  我不可以叫成win7 吗?

出5入16汤圆

 楼主| 发表于 2019-12-20 16:31:07 | 显示全部楼层
saccapanna 发表于 2019-12-20 16:27
CubeMX 可以生成各种开发环境的,稳定性还是非常好的。

还是不喜欢那个软件,真正的编程序的工程师,都要在代码和工程软件里面可以配置的。改个功能还得用哪个软件生成一次。反而没有省时间,也没省劲。

出5入16汤圆

 楼主| 发表于 2019-12-20 16:33:26 | 显示全部楼层
hyghyg1234 发表于 2019-12-20 15:08
ST103 freeos这称呼不知道是从哪来的。

那你认识 RTOSDemo.Uv2 这个吗?
这是keil 2的工程文件吧?我专门下载了个KEIL 也编译不过?

出5入16汤圆

 楼主| 发表于 2019-12-20 16:39:25 | 显示全部楼层

谢谢,找不到官方KEIL4 能编译的版本,我会放弃freeos的。

出5入16汤圆

 楼主| 发表于 2019-12-20 16:41:10 | 显示全部楼层
dreampet 发表于 2019-12-20 14:57
就是把__asm挪个位置的事, 这都弄不明白, 建议你放弃

static portFORCE_INLINE BaseType_t xPortIsInsideInterrupt( void )
{
uint32_t ulCurrentInterrupt;
BaseType_t xReturn;

        /* Obtain the number of the currently executing interrupt. */
        __asm
        {
                mrs ulCurrentInterrupt, ipsr
        }

        if( ulCurrentInterrupt == 0 )
        {
                xReturn = pdFALSE;
        }
        else
        {
                xReturn = pdTRUE;
        }

        return xReturn;
}


这个__ASM 挪哪里合适?

出5入16汤圆

 楼主| 发表于 2019-12-20 16:43:58 | 显示全部楼层
68336016 发表于 2019-12-20 15:56
就冲两个名词错的就应该放弃了。

我从来都是说的st 103 单片机
freertos  说freeos。
windows 7 说win7。

出0入0汤圆

发表于 2019-12-20 16:55:10 | 显示全部楼层
MDK里面可以直接√freetros,然后各种API调用,都不用移植了。

出0入0汤圆

发表于 2019-12-20 17:02:01 | 显示全部楼层
68336016 发表于 2019-12-20 15:56
就冲两个名词错的就应该放弃了。

他还理直气壮的说出一堆理由,佩服。

出40入45汤圆

发表于 2019-12-20 17:50:38 | 显示全部楼层
同二楼
建议你放弃 +1

出0入0汤圆

发表于 2019-12-20 21:35:50 | 显示全部楼层
楼上,各位能不打击吗,我现在单片机也是裸奔,但是系统使用linux,也是来回查找 ,可以做东西吧,这不,单片机也想挂系统,我不明白楼主问题在哪里,可是明年有项目也想把带网络usb的功能加上,那么挂系统就必然了,我做东西都是现做现学,那么问题来了,入门很难吗,或者说非常难吗

出0入8汤圆

发表于 2019-12-20 22:02:26 来自手机 | 显示全部楼层
abigpad 发表于 2019-12-20 16:43
我从来都是说的st 103 单片机
freertos  说freeos。
windows 7 说win7。

你自己说没关系,你要与别人交流,总要让人能懂吧?
谁知道你说的是stm32f103还是stm8S103?
所有开源或免费的os都简称freeos

出0入0汤圆

发表于 2019-12-20 23:02:16 | 显示全部楼层
freeos

出0入75汤圆

发表于 2019-12-20 23:14:45 | 显示全部楼层
abigpad 发表于 2019-12-20 16:31
还是不喜欢那个软件,真正的编程序的工程师,都要在代码和工程软件里面可以配置的。改个功能还得用哪个软 ...

CubeMX配置很方便,不用自己去找各部分的配置代码,改一点配置重新生成也行,直接改代码也行,有简单的工具不用,不也是抬杠吗?

出0入4汤圆

发表于 2019-12-21 00:40:50 | 显示全部楼层
abigpad 发表于 2019-12-20 16:31
还是不喜欢那个软件,真正的编程序的工程师,都要在代码和工程软件里面可以配置的。改个功能还得用哪个软 ...

CubeMX用过才知道有多爽,自己配置容易出错,而且比较难检查出来。其次是项目修改配置的时候,通过CubeMX非常方便快捷。比如更改个外部晶振的频率,软件里填个数重新生成一下就好了。你要是自己修改代码的话,一堆时钟参数等你改,保不齐最终的串口波特率还不对。

出0入4汤圆

发表于 2019-12-21 00:45:00 | 显示全部楼层
还有啊,别抱着库和寄存器不放了。技术总是在更新的。真是牛逼的话,C和汇编也别用,直接用机器指令写代码呗。编译器都省了。

出0入0汤圆

发表于 2019-12-21 05:10:43 | 显示全部楼层
真诚的建议不要放弃~~~以后必成大器~~~

出5入16汤圆

 楼主| 发表于 2019-12-21 08:19:30 | 显示全部楼层
谢谢大家的建议,新自动化工具,目的是好的,但是也需要一个过程。就WIN7出来了多少年,win7用了什么方法才让大家放弃了XP。
不是CubeMX不用,而是,你做的程序,你要知道每一行用户代码都是干什么用的。只是CubeMX生成的代码不友好。
一般大家用的单片机种类也不多,好多代码底层代码是可以复制粘贴的。

出5入16汤圆

 楼主| 发表于 2019-12-21 08:46:55 | 显示全部楼层
liwei_jlu 发表于 2019-12-20 22:02
你自己说没关系,你要与别人交流,总要让人能懂吧?
谁知道你说的是stm32f103还是stm8S103?
所有开源或 ...

接受你建议,因为你说的合理。不是抬杠。

出0入75汤圆

发表于 2019-12-21 10:08:14 来自手机 | 显示全部楼层
abigpad 发表于 2019-12-21 08:19
谢谢大家的建议,新自动化工具,目的是好的,但是也需要一个过程。就WIN7出来了多少年,win7用了什么方法才 ...

应用开发,拿来库直接用就行,不用管库怎么实现的功能,像上位机写程序一样,装好SDK,直接调用API,谁去管API是怎么实现的,操作了哪些寄存器?
库函数的性能达不到要求可以自己实现底层驱动,但又有多少人是把库函数性能用到极致,而不是用错了影响的性能。

出0入0汤圆

发表于 2019-12-22 14:14:35 | 显示全部楼层
abigpad 发表于 2019-12-20 16:28
ST 103 有多少异议?杠精吗?

ST的103 有错吗?

好好学吧,freeRTOS 很好上手的;
我自己这边经常写 ST32 + FRT ,自己明白,周边的人也知道我说的是啥,这样写起来少打好多字

出0入0汤圆

发表于 2019-12-22 20:04:02 来自手机 | 显示全部楼层
xrb2936 发表于 2019-12-22 14:14
好好学吧,freeRTOS 很好上手的;
我自己这边经常写 ST32 + FRT ,自己明白,周边的人也知道我说的是啥, ...

我们以前叫M32,现在直接叫 M3

出0入147汤圆

发表于 2019-12-22 21:13:50 来自手机 | 显示全部楼层
abigpad 发表于 2019-12-20 16:41
static portFORCE_INLINE BaseType_t xPortIsInsideInterrupt( void )
{
uint32_t ulCurrentInterrupt;

把这一块__ASM摘出来,修改成一个__ASM注释的函数再调用即可

出5入16汤圆

 楼主| 发表于 2019-12-23 08:04:01 | 显示全部楼层
dreampet 发表于 2019-12-22 21:13
把这一块__ASM摘出来,修改成一个__ASM注释的函数再调用即可

谢谢,移植了8.2版本KEIL4 能编译通过,先练手一下,谢谢

出5入16汤圆

 楼主| 发表于 2019-12-23 08:05:14 | 显示全部楼层
xrb2936 发表于 2019-12-22 14:14
好好学吧,freeRTOS 很好上手的;
我自己这边经常写 ST32 + FRT ,自己明白,周边的人也知道我说的是啥, ...

谢谢,用8.2 版本正在移植。

出5入16汤圆

 楼主| 发表于 2019-12-23 08:05:36 | 显示全部楼层
hell-prototypes 发表于 2019-12-22 20:04
我们以前叫M32,现在直接叫 M3

这是高手。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 20:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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