搜索
bottom↓
回复: 275

MDK环境下让STM32用上FreeRTOS v8.1.2和FreeRTOS+Trace v2.6.0全过程

  [复制链接]

出0入0汤圆

发表于 2014-10-25 14:56:11 | 显示全部楼层 |阅读模式
本帖最后由 tanglei979 于 2014-10-25 15:17 编辑



    本人选择使用
FreeRTOS的最大原因就是想使用FreeRTOS+Trace,这是一个图形化的Debug工具,利用这个工具,你可以看到各线程、中断、消息队列等的运行历史,对于新手来说,学习一个操作系统的运行原理是个好工具,而对于工程应用人员而言,它又是一个不可多得的辅助工具,它能让你获得一种“掌控”的感觉,实在是非常好用。现在我把我建立模板工程的整个过程分享给大家,希望大家也能用上这款神器。     
     FreeRTOS+Trace分为两部分,一部分是位于目标系统的C源码库,你需要将其加入到你的MCU项目中,另一部分是PC机上的软件。FreeRTOS+Trace的运行原理图如下,目标系统在RAM中建立一个缓冲区(大容量数组),目标系统的操作系统在运行的过程中,每次产生的系统事件都会保存到该缓冲区,调试人员可以在PC上利用任意调试工具将这个缓冲区dump出来存到一个文件,再使用PC的FreeRTOS+Trace软件打开这个文件分析,并且dump时你并不需要知道缓冲区的具体地址,而是可以直接把整个RAM都dump出来,软件会自动分析。值得一提的是FreeRTOS+Trace软件集成了Jlink菜单,可以直接读取RAM区。(我不知道怎样利用Jlink工具dump内存,只知道J-Link Commander里的mem命令可以读RAM,但是不能保存成文件,有谁知道的告诉我一声)


    我有两个STM32的板,我准备选择STM32F103C8T6的这块板作为样板来作陈述,因为它的资源较少,能在其运行的程序在其它更大资源的芯片上肯定是可以运行的。

    本次模板工程使用的是MDK4.23环境,目标芯片为STM32F103C8T6,外设标准库版本为3.5,FreeRTOS版本为8.1.2,FreeRTOS+Trace版本为2.6.0。FreeRTOS源码中有针对STM32的DEMO,大家可以用来参考,这样只要修修补补不用移植了。
    提示:FreeRTOS+Trace是与FreeRTOS的源码包绑定的,下载任何一个FreeRTOS版本的源码包,里面都有FreeRTOS+Trace的源码,但是这个源码需要与PC的上位机配套,当前能够下载的上位机软件是2.6.0版,而FreeRTOS的最新版本是8.1.2,其配套的FreeRTOS+Trace的版本就是2.6.0。
    建立过程如下:
一、建立MDK工程,加入官方3.5固件库和FreeRTOSv8.1.2源码,使其正常运行
    1.从ST官网下载3.5版固件
    2.从FreeRTOS官网下载FreeRTOS v8.1.2源码
    3.建立一个目录,将代码组织起来,我的目录是下面这样的
      

    4.打开MDK,建立工程,选择目标芯片为STM32F103C8,建立目录加进文件,我的目录是下面这样的。其中FreeRTOSConfig.h文件是从针对STM32的DEMO工程中复制出来的,port.c使用的是\FreeRTOS\Source\portable\RVDS\ARM_CM3目录下的,heap_2.c在\FreeRTOS\Source\portable\MemMang目录下
   

    5.添加预编译定义和头文件包含目录
   

    6.为操作系统修改中断入口名,我是直接修改了port.c文件,而没有修改startup_stm32f10x_md.s文件,因为修改port.c只需添加三条语句,如下
   

    7.编写测试源码,我只做了任务切换的测试,源码如下,建立了三条闪灯的任务,任务优先级依次为3、4、5(注意FreeRTOS里的任务优先级与uCOS相反,即数字越大级别越高,IDLE任务优先级最低,则为0)
   
    8.在编译之前,需要检查内存堆的范围是否过大,过大就放不进STM32F103C8的20K RAM了。查看FreeRTOSConfig.h中的configTOTAL_HEAP_SIZE定义,我定义了10K,这10K就是留给操作系统动态分配的,你可以根据需要把它设置得更大一点,只要保证编译完毕后RAM占用不超过20K即可。
   

    9.编译、下载、测试,发现三个灯都在闪就对了,系统在调度任务了。
    10.如果不想在Flash中调试,也可以在RAM中调试,具体可以百度或参考我上传的项目。
    STM32 FreeRTOSv8.1.2 MDK工程模板:
二、在已有FreeRTOS的项目基础上加入FreeRTOSPlusTracev2.6.0源码,修改相应设置,使FreeRTOSPlusTrace能够正常Trace
    1.从下载的FreeRTOS源码包中复制FreeRTOS-Plus-Trace目录到工程目录,现在我的目录如下
   

    2. 把\FreeRTOS-Plus-Trace\ConfigurationTemplate\trcConfig.h复制到App目录下
    3. 添加文件到MDK工程中,现在我的工程目录如下图
   

    4.向包含目录中添加”..\FreeRTOS-Plus-Trace\Include”,如下图
   

    5.在FreeRTOSConfig. h中,设置configUSE_TRACE_FACILITY为1,以保证打开FreeRTOS+Trace功能,并在末尾添加#include "trcKernelPort.h"来包含trace相关头文件
    6.设置trcConfig.h中EVENT_BUFFER_SIZE项为一个适当值,它表示要记录多少条事件,一般一条事件占用4个字节,我将它设置为1024,则将占用4K的内存,能存大概1000条左右的事件。
    7.在main.c中添加下列代码(68行~73行)

   
    8.编译,发现一堆的语法错误,其它错误很好解决,除了trcHardwarePort.c中有四条在一起且类似的错误,错误信息是这样的:
    ..\FreeRTOS-Plus-Trace\trcHardwarePort.c(65): error:  #20: identifier "asm" is undefined
    可能因为源码是针对IAR编写的,没有考虑到MDK的特殊性,我的作法是将原本代码注释掉替换为内联汇编代码
    原来的代码:
   

    替换后的代码:
   

    9.编译、下载、调试。当灯在闪时,说明系统运行正常了,接下来终于可以请出我们的神器FreeRTOSplusTrace PC软件了。
        加入FreeRTOSplusTrace的MDK工程模板:
三、FreeRTOSplusTrace PC软件共分三个版本FreeEdition、Standard Edition、Pro. Edition,全功能高级版可以试用30天,30天后只能使用功能限制的免费版,为了能够不受限制,我把它装到了vmware虚拟机里面,并且在安装之前take snapshot一下,这样30天过后,将vmware退回到snapshot点,再安装一遍FreeRTOSplusTrace又可以试用30天了,当然如果有人破解了就不用这么麻烦了。FreeRTOSplusTrace PC软件有7M,我上传不了,大家去官网去下载吧。
    1.下载页面在percepio.com可以找到,它依赖.net4.0运行,需要安装.net4.0库。
    2.打开FreeRTOSplusTrace软件,欢迎界面如下图,点击右下角Evaluate ...按钮,进入主界面,如果你插入了Jlink,Jlink菜单下的选项是可选的。
   
   


    3.点击菜单Jlink->Read Trace,填入RAM地址和大小(不知道RAM地址和大小?看MDK菜单Project->Options for xxx->Target选项卡->IRAM1),点击OK,读出来如果东西少或出错,说明时间太短,过一会再读试试。
   

    4.软件结果如下图
   

    5.勾选右下角的Kernel Notices和Kernel Service Calls,放大,就可以清晰的看到系统运行的过程了,三条LED线程,打开CPU Load Graph,可以看到CPU占用率目测不及0.1%。
   
   
四、模板只有三个闪灯任务,各位看官没看爽,没关系,下面承上官方Demo。其中Communication View便于理解官方Demo消息传递过程,我没详细研究,看起来很酷的样子。
加入官方Demo的MDK工程(内含dump文件,可直接用FreeRTOSplusTrace.exe打开):
   
   
   
   

本帖子中包含更多资源

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

x

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

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

出0入4汤圆

发表于 2014-10-25 15:01:24 来自手机 | 显示全部楼层
我顶你酷贴

出0入0汤圆

发表于 2014-10-25 15:05:10 | 显示全部楼层
厉害厉害,楼主有心。

出0入0汤圆

发表于 2014-10-25 15:09:04 | 显示全部楼层
这个厉害

出100入101汤圆

发表于 2014-10-25 15:17:38 | 显示全部楼层
好文,freertos升级是不是过快了些?

出0入0汤圆

发表于 2014-10-25 15:22:55 | 显示全部楼层
酷,果断收藏

出0入0汤圆

发表于 2014-10-25 15:29:00 来自手机 | 显示全部楼层
必须先Mark  freertos

出0入0汤圆

发表于 2014-10-25 15:33:00 | 显示全部楼层
楼主好厉害啊; 果断顶一下

出0入0汤圆

发表于 2014-10-25 15:35:26 | 显示全部楼层
感谢分享,楼主写得相当呢详细。

出0入0汤圆

发表于 2014-10-25 15:35:59 | 显示全部楼层
牛叉叉啊                                         

出0入0汤圆

发表于 2014-10-25 15:40:18 | 显示全部楼层
给楼主申酷,这么用心

出0入0汤圆

发表于 2014-10-25 15:47:43 | 显示全部楼层
很好的帖子啊,不顶不行,先收藏起来,空下来耐心学习

出0入0汤圆

发表于 2014-10-25 16:12:12 | 显示全部楼层
FreeRTOS+Trace   mark

出0入0汤圆

发表于 2014-10-25 16:13:26 | 显示全部楼层
good,很不错

出0入0汤圆

发表于 2014-10-25 16:23:06 | 显示全部楼层
好贴,图文并茂

出0入8汤圆

发表于 2014-10-25 16:35:48 | 显示全部楼层
写的很好啊,学习了啊~~

出0入0汤圆

发表于 2014-10-25 16:36:48 | 显示全部楼层
楼主V5!!!!

出0入0汤圆

发表于 2014-10-25 16:44:32 | 显示全部楼层
好像挺牛逼的样子,比uC强,动不动就搞收费,看来要改Free了
头像被屏蔽

出0入0汤圆

发表于 2014-10-25 17:05:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入14汤圆

发表于 2014-10-25 17:07:49 | 显示全部楼层
支持,真心不错的说

出0入0汤圆

发表于 2014-10-25 17:10:08 来自手机 | 显示全部楼层
真是好帖。顶起。

出0入0汤圆

发表于 2014-10-25 17:20:47 | 显示全部楼层
关于用jlink读数据,函数是在JlinkArm.dll里面的,在你的项目中动态加载这个dll,然后引入相应的函数就行了,下面是我在Qt里面封装的代码:
  1. JlinkARM::JlinkARM()
  2. {
  3. jlinkdll.setFileName("JLinkArm.dll");
  4. if(jlinkdll.load())
  5. {
  6.     qDebug()<<"load JlinkArm.dll OK!";
  7.     this->Open = (pOpen)jlinkdll.resolve("JLINKARM_Open");
  8.     if(this->Open)
  9.     {
  10.       qDebug()<<"Link to Open is OK!";
  11.     }else
  12.     {
  13.         qDebug()<<"Link to Open error!";
  14.     }
  15.     this->Close = jlinkdll.resolve("JLINKARM_Close");
  16.     this->GetSN = (pGetSN)jlinkdll.resolve("JLINKARM_GetSN");
  17.     this->GetDllVersion = (pGetDllVersion)jlinkdll.resolve("JLINKARM_GetDLLVersion");
  18.     this->GetFirmwareString = (pGetFirmwareString)jlinkdll.resolve("JLINKARM_GetFirmwareString");
  19.     this->GetHardwareVersion = (pGetHardwareVersion)jlinkdll.resolve("JLINKARM_GetGetHardwareVersion");
  20.     this->GetOEMString = (pGetOEMString)jlinkdll.resolve("JLINKARM_GetOEMString");
  21.     this->GetId = (pGetId)jlinkdll.resolve("JLINKARM_GetId");
  22.     this->ReadMemU8 = (pReadMemU8)jlinkdll.resolve("JLINKARM_ReadMemU8");
  23.     this->ReadMemU16 = (pReadMemU16)jlinkdll.resolve("JLINKARM_ReadMemU16");
  24.     this->ReadMemU32 = (pReadMemU32)jlinkdll.resolve("JLINKARM_ReadMemU32");
  25.     this->WriteU8 = (pWriteU8)jlinkdll.resolve("JLINKARM_WriteU8");
  26.     this->WriteU16 = (pWriteU16)jlinkdll.resolve("JLINKARM_WriteU16");
  27.     this->WriteU32 = (pWriteU32)jlinkdll.resolve("JLINKARM_WriteU32");
  28.     this->SetSpeed = (pSetSpeed)jlinkdll.resolve("JLINKARM_SetSpeed");
  29.     this->Reset = (pReset)jlinkdll.resolve("JLINKARM_Reset");
  30.     this->TIF_Select = (pTIF_Select)jlinkdll.resolve("JLINKARM_TIF_Select");
  31. }else
  32. {
  33.     qDebug()<<"load JlinkArm.dll error!";
  34. }
  35. }
复制代码

出0入0汤圆

 楼主| 发表于 2014-10-25 17:38:20 | 显示全部楼层
nongxiaoming 发表于 2014-10-25 17:20
关于用jlink读数据,函数是在JlinkArm.dll里面的,在你的项目中动态加载这个dll,然后引入相应的函数就行了 ...

JLink驱动自带的工具不知道可以不可以利用SWD dump呢,之所以要这样,是因为JTAG口一般用10针,我有的板用的SWD接口,只有四根线,用FreeRTOS+Trace直接读取会失败。

出0入0汤圆

 楼主| 发表于 2014-10-25 17:41:55 | 显示全部楼层
zhl_tc 发表于 2014-10-25 16:44
好像挺牛逼的样子,比uC强,动不动就搞收费,看来要改Free了

uc也有相应的ucTrace,代码和PC端软件同样由percepio公司提供,只是FreeRTOS是免费的,这是个优势

出0入0汤圆

发表于 2014-10-25 17:47:19 | 显示全部楼层
tanglei979 发表于 2014-10-25 17:38
JLink驱动自带的工具不知道可以不可以利用SWD dump呢,之所以要这样,是因为JTAG口一般用10针,我有的板 ...

可以的啊,通过JLINKARM_TIF_Select函数可以设置模式是JTAG还是SWD的,默认情况下jlink用的jtag。你用jlink命令行的时候需要发命令切换,然后再读写的。

出130入129汤圆

发表于 2014-10-25 17:47:52 | 显示全部楼层
还能这么搞,真不错。
关注SWD是否能用,因为现在做板都不留JTAG口了。

出0入0汤圆

发表于 2014-10-25 17:51:32 | 显示全部楼层
楼主做事如此有调理, 任督二脉显然早已打通...

出0入4汤圆

发表于 2014-10-25 18:10:13 | 显示全部楼层
好料,Mark之

出0入0汤圆

发表于 2014-10-25 18:21:38 | 显示全部楼层
顶一个!!

出0入0汤圆

发表于 2014-10-25 19:24:43 | 显示全部楼层
收藏了~

出0入0汤圆

发表于 2014-10-25 19:28:00 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2014-10-25 19:34:12 | 显示全部楼层
gycsy963 发表于 2014-10-25 17:51
楼主做事如此有调理, 任督二脉显然早已打通...

哈哈,惭愧,一直从这里获取,从未付出过

出0入0汤圆

 楼主| 发表于 2014-10-25 19:35:35 | 显示全部楼层
nongxiaoming 发表于 2014-10-25 17:47
可以的啊,通过JLINKARM_TIF_Select函数可以设置模式是JTAG还是SWD的,默认情况下jlink用的jtag。你用jli ...

我在jlink-commander里输入?,看到帮助里只有个mem命令可以读出来,但不知道怎么保存成文件,还请明示

出0入0汤圆

发表于 2014-10-25 19:42:20 来自手机 | 显示全部楼层
不错的东西

出0入0汤圆

发表于 2014-10-25 20:38:43 | 显示全部楼层
这个真不错,有破解就更好了

出0入0汤圆

发表于 2014-10-25 21:01:47 | 显示全部楼层
牛人,谢谢分享!!!

出0入0汤圆

发表于 2014-10-25 21:12:55 | 显示全部楼层
我去 mark一记 仔细看

出0入0汤圆

发表于 2014-10-25 21:13:11 | 显示全部楼层
牛叉                    

出0入0汤圆

发表于 2014-10-25 21:37:16 | 显示全部楼层
谢谢分享,标记学习

出0入0汤圆

发表于 2014-10-25 21:38:54 | 显示全部楼层
学  学     

出0入0汤圆

发表于 2014-10-25 22:32:40 | 显示全部楼层
记号!以下载来学习

出0入0汤圆

发表于 2014-10-25 22:53:42 | 显示全部楼层
好资料 , 楼主用心啦  , 顶一个   !

出0入0汤圆

发表于 2014-10-25 23:01:16 | 显示全部楼层
记号,很高大上

出0入0汤圆

发表于 2014-10-25 23:03:26 | 显示全部楼层
起来很厉害的样子。

出0入0汤圆

发表于 2014-10-25 23:07:51 | 显示全部楼层
好东西,收藏了

出0入8汤圆

发表于 2014-10-25 23:09:38 | 显示全部楼层
NC~~收藏之

出0入0汤圆

发表于 2014-10-25 23:37:09 | 显示全部楼层
tanglei979 发表于 2014-10-25 19:35
我在jlink-commander里输入?,看到帮助里只有个mem命令可以读出来,但不知道怎么保存成文件,还请明示 ...

看来这个FREERTOS还真是极好的,得找个时间弄弄;初次使用,用哪个版本比较经典,这样不致于掉太多坑里面;

出0入0汤圆

 楼主| 发表于 2014-10-26 10:54:45 | 显示全部楼层
本帖最后由 tanglei979 于 2014-10-26 11:11 编辑
kinsno 发表于 2014-10-25 23:37
看来这个FREERTOS还真是极好的,得找个时间弄弄;初次使用,用哪个版本比较经典,这样不致于掉太多坑里面 ...


我也没用过几个版本,以前在学校用的ucos-ii,现在工作了项目里要用这种小型操作系统,又因为FreeRTOS是免费的,所以我去官网下载的新版本。
FreeRTOS的出现也不是一天两天的事了,说明稳定性还是不错的,我一般都选补丁版号最大的,也就是8.x.x中x最大的版本,现在7.x.x中最大的是7.6.0,8.x.x最大的就是8.1.2,8.x.x最大的改动是增加了event flag功能。

出0入0汤圆

发表于 2014-10-26 11:00:14 | 显示全部楼层
看了楼主的帖子。立马转战FreeRTOS了~ 

出0入0汤圆

发表于 2014-10-26 11:11:16 | 显示全部楼层
必须支持啊............不错..

出0入0汤圆

发表于 2014-10-26 12:08:08 | 显示全部楼层
楼主厉害啊,我板子都没留jtag 和swd口啊,用串口可以不?

出0入0汤圆

发表于 2014-10-26 12:31:10 | 显示全部楼层
酷贴。,顶啊

出0入0汤圆

发表于 2014-10-26 12:59:36 | 显示全部楼层
此帖要火了

出0入0汤圆

发表于 2014-10-26 13:10:48 | 显示全部楼层
挺厉害的!很高端啊

出0入0汤圆

 楼主| 发表于 2014-10-26 13:33:35 | 显示全部楼层
dswkl11 发表于 2014-10-26 12:08
楼主厉害啊,我板子都没留jtag 和swd口啊,用串口可以不?

理论上应该可以,JTAG和SWD只是工具,它比较方便dump RAM而已,如果需要通过串口把内存读出来,那么您需要写这部分的串口通信程序,例如找个能保存成文件的串口调试助手,调试助手发个指令,MCU就把RAM区一个字节一个字节地传到PC,调试助手再存成文件,再用FreeRTOS+Trace打开应该就可以!!

出0入0汤圆

发表于 2014-10-26 15:34:31 | 显示全部楼层
好帖子子

出0入0汤圆

发表于 2014-10-26 15:42:21 | 显示全部楼层
感谢楼主的详细教程!学习了。

出0入0汤圆

发表于 2014-10-26 15:48:55 | 显示全部楼层
make....仔细看看

出0入0汤圆

发表于 2014-10-26 15:54:25 | 显示全部楼层
FreeRTOS+Trace   mark

出0入0汤圆

发表于 2014-10-26 16:13:09 | 显示全部楼层
看 FreeRTOS+Trace

出0入37汤圆

发表于 2014-10-26 16:29:30 | 显示全部楼层
这个nb,收藏了

出0入0汤圆

发表于 2014-10-27 08:05:56 | 显示全部楼层
谢谢楼主,学习了

出0入0汤圆

发表于 2014-10-27 18:01:34 | 显示全部楼层
真实好东西,楼主整理的太好了,敬佩!

出100入143汤圆

发表于 2014-10-27 18:20:31 来自手机 | 显示全部楼层
这个真的不错,对于开发时分析任务调度合理性有很大帮助

出0入0汤圆

发表于 2014-10-28 15:13:46 | 显示全部楼层
好 东西  先 顶起来!!

出0入0汤圆

发表于 2014-10-31 16:20:35 | 显示全部楼层
这软件的免费版很多功能没法用,,有xx版么?

出0入102汤圆

发表于 2014-10-31 16:23:36 | 显示全部楼层
好教程,学习。

出0入0汤圆

发表于 2014-10-31 16:27:06 | 显示全部楼层
挺高端的,很厉害

出0入0汤圆

 楼主| 发表于 2014-10-31 22:23:55 | 显示全部楼层
Earthman 发表于 2014-10-31 16:20
这软件的免费版很多功能没法用,,有xx版么?

30天内试用的是全功能版,30天后才会限制功能

出0入0汤圆

发表于 2014-11-1 04:35:53 | 显示全部楼层
tanglei979 发表于 2014-10-31 22:23
30天内试用的是全功能版,30天后才会限制功能

对呀,然后呢?

出0入0汤圆

发表于 2014-11-1 09:50:19 | 显示全部楼层
用freertos一段时间了,一直不知道还有这个功能。。呵呵太不专业了。。。。

出0入0汤圆

发表于 2014-11-1 09:55:56 | 显示全部楼层
楼主好人,写的相当详细!

出0入4汤圆

发表于 2014-11-1 10:11:16 | 显示全部楼层
可以备用,功能好强大

出0入0汤圆

发表于 2014-11-1 10:28:38 | 显示全部楼层
太酷了!谢谢楼主

出0入0汤圆

发表于 2014-11-1 10:31:34 | 显示全部楼层
非常好的帖子,顶你~

出0入0汤圆

 楼主| 发表于 2014-11-1 12:06:58 | 显示全部楼层

目前没有XX版,只有用的人多了才会有人去XX!!

出0入0汤圆

发表于 2014-11-1 12:31:24 | 显示全部楼层
感谢,正好在看freertos

出0入16汤圆

发表于 2014-11-1 12:39:38 | 显示全部楼层
好贴!!!收藏!!!

出0入0汤圆

发表于 2014-11-1 14:03:31 | 显示全部楼层
果然牛啊,可以玩玩

出0入0汤圆

发表于 2014-11-2 22:43:07 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2014-11-3 00:48:08 | 显示全部楼层
厉害,楼主有心。

出0入0汤圆

发表于 2014-11-3 14:09:26 | 显示全部楼层
顶贴,正在学习freeRTOS中

出0入0汤圆

发表于 2014-11-4 20:39:37 | 显示全部楼层
做个标记,学习!!!

出0入0汤圆

发表于 2014-11-4 20:54:31 | 显示全部楼层
非常感谢,赶紧上

出0入0汤圆

发表于 2014-11-4 21:00:43 | 显示全部楼层
FreeRTOS牛逼

出0入0汤圆

发表于 2014-11-24 16:02:10 | 显示全部楼层
一直苦于MDK没有FREERTOS的调试插件,又不能换IAR,有空要好好研读此贴了!!

出0入0汤圆

发表于 2014-11-24 16:43:14 | 显示全部楼层
谢谢,打算下个项目用这个os

出0入0汤圆

发表于 2014-11-24 17:20:30 | 显示全部楼层
Trace能移植到ucos吗?

出0入0汤圆

发表于 2014-11-25 07:34:05 来自手机 | 显示全部楼层
写的很详细,谢谢!

出0入0汤圆

发表于 2014-11-25 08:53:26 | 显示全部楼层
强帖,留名。改天找时间好好学习!

出0入0汤圆

发表于 2014-11-25 09:15:44 | 显示全部楼层
很用心,感谢,楼主用这个在产品上吗?

出0入0汤圆

发表于 2014-11-25 09:25:23 | 显示全部楼层
参考参考!

出0入0汤圆

发表于 2014-12-2 21:53:31 | 显示全部楼层
感觉像是软文,新手的话,排版还真不错

出0入0汤圆

发表于 2014-12-2 21:58:18 | 显示全部楼层
厉害厉害,楼主有心。

出0入0汤圆

发表于 2014-12-2 23:05:03 | 显示全部楼层
楼主好厉害啊; 果断顶一下

出0入0汤圆

发表于 2014-12-3 19:38:07 | 显示全部楼层
这是分析系统任务调度的利器啊

出0入0汤圆

发表于 2014-12-3 20:03:51 | 显示全部楼层
用过FreeRTOS,没想到还有如此神器,学习了

出0入0汤圆

发表于 2014-12-3 20:54:24 | 显示全部楼层
FreeRTOS 这个真的就是调试程序的神器那.谢谢楼主分享

出0入0汤圆

发表于 2014-12-3 21:31:00 | 显示全部楼层
FreeRTOS v8.1.2??这么快啊 我还在用5.0啊!

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-24 01:30

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

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