FreeRTOS移植到STM32上的移植过程】的更多相关文章

所有的单片机都是顺序执行的,而对于多任务而言就显得力不从心了,虽然在一些小项目中可以通过定时器来实现,但这种实现方式没有实时性,一旦任务需要在规定时间内做出响应,那只能通过实时操作系统来完成了.在很多实时操作系统中,FreeRTOS有这良好的移植,而且体积小,其可剪裁性和优越的实时性能无不让其成为众多实时操作系统的首选,最大的好处当然就是他的免费开源.废话不多说,下面是FreeRTOS移植到STM32上的详细步骤. 首先,下载FreeRTOS源代码,网址:https://www.freertos…
下载代码 stm32 标准外设库是 stm32 全系列芯片的外设驱动,有了它能够大大加速我们 开发 stm32. 首先从 st 公司的站点下载最新的 stm32 标准外设库,写本文时最新的版本号是 V3.5.0. 解压该 zip 文件.得到例如以下目录和文件 STM32F10x_StdPeriph_Lib_V3.5.0\  _htmresc  Libraries  Project  Utilities  Release_Notes.html  stm32f10x_stdperiph_lib_um…
本文做记录摘抄,加上自己的体会: 文章标题:STM32使用LWIP实现DHCP客户端 http://www.cnblogs.com/dengxiaojun/p/4379545.html 该文章介绍了几点,LWIP源码的内容.关键点:1.include下新建arch文件夹,在arch文件夹下的sys_arch.c多任务定时检测功能,配合的timer.c文件完成协议栈心跳抽水泵. 2.lwipopts.h文件是对协议栈的配置文件,内存大小设置.是否使用操作系统.是否使能DHCP功能. 3.netif…
前面小玩了一下ucos和lwip,但是都还不是真正的网络多任务,真正的网络多任务应该是什么样子的呢?应该是有一个专门的任务负责网络的通讯,他负责将数据发送出去,将数据接收回来,而其他的需要用到网络的任务与这个任务通讯,这才是能够极大提升网络效率的办法,lwip支持这种办法,不过移植起来就比较磨人了 首先第一步是修改lwip的配置文件,如下 #define NO_SYS 0 //使用UCOS操作系统 改了这个之后会发现卧槽一下子缺了好多东西,实际上是这样,lwip使用一系列的宏和方法封装了一个操作…
1. 知识准备 要想对ucos-ii的移植有较深的理解,需要两方面知识: (1)目标芯片,这里是lpc17xx系列芯片,它们都是基于ARMv7 Cortex-M3内核,所以这一类芯片的ucos-ii移植几乎都是一样的,要想了解Cortex-M3内核,推荐<ARM Cortex-M3权威指南>(宋岩译): (2)ucos-ii内核原理,推荐<嵌入式实时操作系统uC/OS-II(第2版)>(邵贝贝译). 2. 下载文件 ucos-ii移植过程主要涉及三个文件:os_cpu.h, os_…
[Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交叉编译ARM-Linux,opencv,好像刚开始make install路径的问题,让我宿主机Ubuntu14.04上的opencv链接库被交叉编译库给冲掉,然后在宿主机上运行本机的Opencv程序时候居然报错了,imread似乎运行不正确.后来重新编译OpenCv,结果原来的可以运行namedW…
[Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题3-共享库中嵌套库居然带路径[未解决] 标签(空格分隔): [Linux开发] 移植opencv到tq2440 一.下载opencv及cmake 1,download opencv_2.3.1 OpenCV-2.3.1a.tar.bz2 下载链接:http://opencv.org/downloads.html 2,download cmake //cmake-3.1.0.tar.gz //without gui cmake…
实际上这里说的是移植的第一步,下载到源码后,我用的是opencv2.4.9,解压缩,然后可以利用cmake-gui来进行configure配置,这里面需要设置交叉编译的工具链,具体的可以参考[Linux开发]OpenCV在ARM上的移植 这里面的几个问题: 没有路径的可以设置选择No,不要选他. 除了前面列的那篇文中所提到的,要修改CMakeCache.txt中的那个CMAKE_EXE_LINKER_FLAGS=-lpthread -lrt,还有一个特别要命的问题就是: Linking CXX…
PS:网上关于ds1307的资料最多还是基于51等单片机的,和stm32上还是略有差别,代码是参考了http://www.openedv.com/posts/list/20167.htm 但是他的代码有一定错误,在我的设备上读不了数据,更别谈写数据了. 说明:此程序是控制IO口模拟i2c控制ds1307 关于ds1302的资料这里就不多说了,主要分析下代码.让各位入门的新手参考一下,附上代码的下载链接:http://download.csdn.net/detail/u012062785/8966…
基于Linux的kfifo移植到STM32(支持os的互斥访问) 关于kfifo kfifo是内核里面的一个First In First Out数据结构,它采用环形循环队列的数据结构来实现:它提供一个无边界的字节流服务,最重要的一点是,它使用并行无锁编程技术,即当它用于只有一个入队线程和一个出队线程的场情时,两个线程可以并发操作,而不需要任何加锁行为,就可以保证kfifo的线程安全. 具体什么是环形缓冲区,请看我以前的文章 说明 关于kfifo的相关概念我不会介绍,有兴趣可以看他的相关文档,我只…