freertos给的例程KEIL4都编译不过,还没入门就要放弃?
本帖最后由 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可以正常编译。先拿这个版本练手了。 建议你放弃 就是把__asm挪个位置的事, 这都弄不明白, 建议你放弃 ST103 freeos这称呼不知道是从哪来的。 hyghyg1234 发表于 2019-12-20 15:08
ST103 freeos这称呼不知道是从哪来的。
就冲两个名词错的就应该放弃了。 直接cube生成代码,自带freertos。完事。
车停路边被剐蹭,对方逃逸,监控查询到了,怎么处理好?
dreampet 发表于 2019-12-20 14:57就是把__asm挪个位置的事, 这都弄不明白, 建议你放弃
我只复制了,一部分,我也知道 汇编函数不能内联,但是后面的函数又有汇编,又有c,刚开始用,修改关键代码。 CubeMX 可以生成各种开发环境的,稳定性还是非常好的。 本帖最后由 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 吗? saccapanna 发表于 2019-12-20 16:27
CubeMX 可以生成各种开发环境的,稳定性还是非常好的。
还是不喜欢那个软件,真正的编程序的工程师,都要在代码和工程软件里面可以配置的。改个功能还得用哪个软件生成一次。反而没有省时间,也没省劲。 hyghyg1234 发表于 2019-12-20 15:08
ST103 freeos这称呼不知道是从哪来的。
那你认识 RTOSDemo.Uv2 这个吗?
这是keil 2的工程文件吧?我专门下载了个KEIL 也编译不过?
fakeCode 发表于 2019-12-20 14:50
建议你放弃
谢谢,找不到官方KEIL4 能编译的版本,我会放弃freeos的。 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 挪哪里合适? 68336016 发表于 2019-12-20 15:56
就冲两个名词错的就应该放弃了。
我从来都是说的st 103 单片机
freertos说freeos。
windows 7 说win7。 MDK里面可以直接√freetros,然后各种API调用,都不用移植了。 68336016 发表于 2019-12-20 15:56
就冲两个名词错的就应该放弃了。
他还理直气壮的说出一堆理由,佩服。 同二楼
建议你放弃 +1 楼上,各位能不打击吗,我现在单片机也是裸奔,但是系统使用linux,也是来回查找 ,可以做东西吧,这不,单片机也想挂系统,我不明白楼主问题在哪里,可是明年有项目也想把带网络usb的功能加上,那么挂系统就必然了,我做东西都是现做现学,那么问题来了,入门很难吗,或者说非常难吗{:sweat:} abigpad 发表于 2019-12-20 16:43
我从来都是说的st 103 单片机
freertos说freeos。
windows 7 说win7。
你自己说没关系,你要与别人交流,总要让人能懂吧?
谁知道你说的是stm32f103还是stm8S103?
所有开源或免费的os都简称freeos freeos{:titter:}{:titter:}{:titter:}{:titter:}{:titter:} abigpad 发表于 2019-12-20 16:31
还是不喜欢那个软件,真正的编程序的工程师,都要在代码和工程软件里面可以配置的。改个功能还得用哪个软 ...
CubeMX配置很方便,不用自己去找各部分的配置代码,改一点配置重新生成也行,直接改代码也行,有简单的工具不用,不也是抬杠吗? abigpad 发表于 2019-12-20 16:31
还是不喜欢那个软件,真正的编程序的工程师,都要在代码和工程软件里面可以配置的。改个功能还得用哪个软 ...
CubeMX用过才知道有多爽,自己配置容易出错,而且比较难检查出来。其次是项目修改配置的时候,通过CubeMX非常方便快捷。比如更改个外部晶振的频率,软件里填个数重新生成一下就好了。你要是自己修改代码的话,一堆时钟参数等你改,保不齐最终的串口波特率还不对。 还有啊,别抱着库和寄存器不放了。技术总是在更新的。真是牛逼的话,C和汇编也别用,直接用机器指令写代码呗。编译器都省了。 真诚的建议不要放弃~~~以后必成大器~~~ 谢谢大家的建议,新自动化工具,目的是好的,但是也需要一个过程。就WIN7出来了多少年,win7用了什么方法才让大家放弃了XP。
不是CubeMX不用,而是,你做的程序,你要知道每一行用户代码都是干什么用的。只是CubeMX生成的代码不友好。
一般大家用的单片机种类也不多,好多代码底层代码是可以复制粘贴的。 liwei_jlu 发表于 2019-12-20 22:02
你自己说没关系,你要与别人交流,总要让人能懂吧?
谁知道你说的是stm32f103还是stm8S103?
所有开源或 ...
接受你建议,因为你说的合理。不是抬杠。 abigpad 发表于 2019-12-21 08:19
谢谢大家的建议,新自动化工具,目的是好的,但是也需要一个过程。就WIN7出来了多少年,win7用了什么方法才 ...
应用开发,拿来库直接用就行,不用管库怎么实现的功能,像上位机写程序一样,装好SDK,直接调用API,谁去管API是怎么实现的,操作了哪些寄存器?
库函数的性能达不到要求可以自己实现底层驱动,但又有多少人是把库函数性能用到极致,而不是用错了影响的性能。 abigpad 发表于 2019-12-20 16:28
ST 103 有多少异议?杠精吗?
ST的103 有错吗?
好好学吧,freeRTOS 很好上手的;
我自己这边经常写 ST32 + FRT ,自己明白,周边的人也知道我说的是啥,这样写起来少打好多字 xrb2936 发表于 2019-12-22 14:14
好好学吧,freeRTOS 很好上手的;
我自己这边经常写 ST32 + FRT ,自己明白,周边的人也知道我说的是啥, ...
我们以前叫M32,现在直接叫 M3 abigpad 发表于 2019-12-20 16:41
static portFORCE_INLINE BaseType_t xPortIsInsideInterrupt( void )
{
uint32_t ulCurrentInterrupt;
把这一块__ASM摘出来,修改成一个__ASM注释的函数再调用即可 dreampet 发表于 2019-12-22 21:13
把这一块__ASM摘出来,修改成一个__ASM注释的函数再调用即可
谢谢,移植了8.2版本KEIL4 能编译通过,先练手一下,谢谢 xrb2936 发表于 2019-12-22 14:14
好好学吧,freeRTOS 很好上手的;
我自己这边经常写 ST32 + FRT ,自己明白,周边的人也知道我说的是啥, ...
谢谢,用8.2 版本正在移植。 hell-prototypes 发表于 2019-12-22 20:04
我们以前叫M32,现在直接叫 M3
这是高手。
页:
[1]