LWIP在STM32上的移植】的更多相关文章

本文做记录摘抄,加上自己的体会: 文章标题: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…
下载代码 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…
所有的单片机都是顺序执行的,而对于多任务而言就显得力不从心了,虽然在一些小项目中可以通过定时器来实现,但这种实现方式没有实时性,一旦任务需要在规定时间内做出响应,那只能通过实时操作系统来完成了.在很多实时操作系统中,FreeRTOS有这良好的移植,而且体积小,其可剪裁性和优越的实时性能无不让其成为众多实时操作系统的首选,最大的好处当然就是他的免费开源.废话不多说,下面是FreeRTOS移植到STM32上的详细步骤. 首先,下载FreeRTOS源代码,网址:https://www.freertos…
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_…
PS:网上关于ds1307的资料最多还是基于51等单片机的,和stm32上还是略有差别,代码是参考了http://www.openedv.com/posts/list/20167.htm 但是他的代码有一定错误,在我的设备上读不了数据,更别谈写数据了. 说明:此程序是控制IO口模拟i2c控制ds1307 关于ds1302的资料这里就不多说了,主要分析下代码.让各位入门的新手参考一下,附上代码的下载链接:http://download.csdn.net/detail/u012062785/8966…
基于STM32的uCGUI移植和优化 首先在开始这个说明之前,要简要说明下具体的环境: 编译工具:MDK4.20 开发板:安富莱v2版开发板 调试器:JLink  v8盗版 移植篇 相信大家有移植经验的都知道,移植确实是一件非常墨迹的事情,怎么说呢,代码都是别人的,风格也是别人的,文件结构,定义之类都是别人的,看别人的东西是种进步,但是,也是一个痛苦的过程,因为有时候资料确实很少,而且有时候还是E文的,专业名词一大堆,我们根本没有办法想象工作量是多么的巨大. 不过事情都是这样,你不懂他的时候他就…
Qt4.8.5在ARM9开发板上的移植 以前移植过qtopia-embedded-2.2.0,俗称Qt/E,在早期的Qt框架中是使用X11桌面服务器系统,无法应用于嵌入式平台,为此产生了qtopia,qtopia2.2.0就是一款针对嵌入式小资源平台的GUI系统,他是直接操作嵌入式系统显示设备的FramerBuffer,精简高效.但这是一款过时的产品,奇趣公司在Qt的4.5.0的时候,将Qt/E纳入了Qtopia,推出Qtopia4,可以使用在任何平台上,只需在编译时做相应的配置,这次我们就将移…
这几天我打算在stm32上做一个lava的虚拟机,只要160*80的黑白显示就行了,主要是想怀旧一下,嘿嘿. 目前的进度是图形显示和按键处理完成了,还有文本显示.文件处理.其他函数等. 当然,这都仅是在C语言的状态下写函数,真正的工作是读取一个lav的文件然后解析.目前我还对lav文件不是很熟悉,还要查找一下资料. 图形显示这里浪费了很长时间,主要是考虑到刷屏的速度,接下来是将文字显示做好.…
OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方法很麻烦,不仔细操作很容易出错,我的方法是尽可能的利用现成的工具,尽量图形化界面配置操作,方便编译配置. 软硬件环境 宿主机:Ubuntu 12.04 32bit 开发板:OK6410 OpenCV: 2.4.3 其他: arm-linux-g++ 4.3.2 / arm-linux-gcc 4.3…
UCOSII在STM32F1上的移植 首先准备好一份STM32F1的工程.UCOSII源码. 在准备好的工程中新建一个"UCOSII"文件夹(或者取其它名字也行): UCOSII文件夹用来存放有关UCOSII的文件,UCOS相关的文件也有几种不同用途的类型,在UCOSII文件夹中继续新建几个文件夹,用来存放不同作用的文件,我这边新建的是:"CORE"."CONFIG"."PORT"三个文件夹: 文件夹及文件都准备好后,打开工程…
百度:基于STM32的uCOS-II移植详解 源:基于STM32的uCOS-II移植详解…
由于工作的原因,对SPI的理解最为深刻,也和SPI最有感情了,之前工作都是基于OSEK操作系统上进行实现,也在US/OS3上实现过SPI驱动的实现和测试,但是都是基于基本的寄存器操作,没有一个系统软件架构的思想,感觉linux SPI驱动很强大,水很深,废话少说,SPI总线上有两类设备:一类是主机端,通常作为SOC系统的一个子模块出现,比如很多嵌入式MPU中都常常包含SPI模块.一类是从机被控端,例如一些SPI接口的Flash.传感器等等.主机端是SPI总线的控制者,通过使用SPI协议主动发起S…
最近产品中要用到opus,圣上一声令下,把opus移植到我们平台上,什么?opus?opus是什么?在一脸 茫然中,我这特种兵码农就赤手空拳上战场了. 废话少说,赶紧在网站:https://opus-codec.org/downloads/ 把最新的稳定的opus源码opus-1.2.1.tar.gz下载 到本地linux:解压缩之后,在根目录下执行: .configure make make install 在一路顺利的情况下,已经可以在linux看opus怎么用了,这里面,有很多例子,以个人…
reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html   随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大.性能越来越高,用FPGA构建片上系统成为现实,基于FPGA的嵌入式系统与SOPC(System On a Programmable Chip)设计技术将逐渐成为系统设计的主流技术,正获得越来越广泛地研究.Microblaze是Xilinx公司一款针对FPGA器件进行了优化设计的软处理器核,有不错的…
PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植 一:前言 这段时间有个朋友加微信请求帮忙调试一块PCIe采集卡.该采集卡使用xilinx xc7k410t做控制器,上位机为XP系统,原有的驱动和测试软件都是基于xapp1052写的.众所周知,Xilinx升级到7系列后,原来的pcie ip核trn接口统统转换成了axis接口,这可愁坏了之前用xapp1052的朋友,一下子不好用了,如何把xapp1052移植到K7系列FPGA上,貌似很有市…
嵌入式操作系统是嵌入式应用的基础和核心.随着应用系统的不断复杂化和系统实时性需求的不断提高,对相应软件的逻辑结构.稳定性.实时性也提出了更高的要求,以传统的前后台编程模式编制软件将更加困难,而且容易出错,因此,嵌入式实时操作系统(简称RTOS)就成为一个比较好的解决方法.使用RTOS作为应用程序的运行平台,它将应用程序分解为多个任务,负责各个任务调度.资源管理.任务通信等,可使系统更加稳定可靠,程序易于扩展.移植和维护.[1] μC/OS-Ⅱ是一个源码公开的.非商业用途时免费的嵌入式实时操作系统…
16C554在LINUX上的移植(AT91) linux版本:3.14.17 AT91SAMa5d36   EINTA_0   ARM-IO5        PA14         14 EINTA_1   ARM-IO7        PA2           2 EINTA_2   ARM-IO9        PA8           8 EINTA_3   ARM-IO11      PA3           3   EINTB_0   ARM-IO6        PA4   …
STM32和STR71X移植uCos-II操作系统比较分析 ——ARM7 TDMI和ARMv7-M Cortex-M3 的异同 STM32F103ZE,大容量,ARMv7-M,Cortex-M3系列,双堆栈,handler模式和线程模式,中断比较简单,且中断向量表偏移也很容易: STR710FZ2,ARM7TDMI,七种模式,快速中断和外部中断,中断执行流程比较复杂. 1 临界区的实现 1.1 STM32的实现 进入临界区#define  OS_ENTER_CRITICAL()  {cpu_sr…
源:STemWin5.22在STM32F103上的移植步骤…
本文详细介绍了新版本的u-boot-2014_04在tq2440平台上的移植过程,期间参考了网上的其他移植文档,还有韦东山的移植uboot视频,讲的很好.下面是共享链接,欢迎下载,一同学习.其中有移植文档和patch. http://pan.baidu.com/s/1jGxEYQq 作者:  彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 一. 首先建立自己的开发板 二. 配置时钟三. 移植NOR FLASH四. 移植网卡DM9000五. 支持NAND F…
最近两天在HHARM2410-R3上移植了USB蓝牙设备和 BlueZ 蓝牙协议栈,呵呵,蓝牙果然是个很好的东西,协议栈内容很丰富,挂上去以后可以使用很多功能.我现在就可以用它来接收 GPS 数据以及和用手机上网.我是在做车载的,所以特别有用.积累了一些关于蓝牙的知识,但是算是初步的,把我的经验发上来,各位做过蓝牙的大哥请多指导. 一切版权归bluez的作者---同济大学高性能计算中心 Dennis 欢迎各位发邮件给我和我讨论 dennis.he.2005@gmail.com 先介绍一下硬件,我…
[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…
与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方法很麻烦,不仔细操作很容易出错,我的方法是尽可能的利用现成的工具,尽量图形化界面配置操作,方便编译配置. 软硬件环境 宿主机:Ubuntu 12.04 32bit 开发板:OK6410 OpenCV: 2.4.3 其他: arm-linux-g++ 4.3.2 / arm-linux-gcc 4.3.2 CMake-gui 2.…
前面小玩了一下ucos和lwip,但是都还不是真正的网络多任务,真正的网络多任务应该是什么样子的呢?应该是有一个专门的任务负责网络的通讯,他负责将数据发送出去,将数据接收回来,而其他的需要用到网络的任务与这个任务通讯,这才是能够极大提升网络效率的办法,lwip支持这种办法,不过移植起来就比较磨人了 首先第一步是修改lwip的配置文件,如下 #define NO_SYS 0 //使用UCOS操作系统 改了这个之后会发现卧槽一下子缺了好多东西,实际上是这样,lwip使用一系列的宏和方法封装了一个操作…
要 运行  LWIP  不光 要实现  OS  的 一些 接口  ,还要 有 硬件 数据 接口 移植 ,即 网线上 来的 数据 怎么个形式 传递给  LWIP ,去解析 做出相应的 应答  ,2017年8月11日14:45:16 LWIP  官网  介绍 这个硬件数据 接口 即 要 填满 网卡 这个 结构体    :http://www.nongnu.org/lwip/2_0_x/structnetif.html      关于 这个 结构体 详解 :大神 博客 :http://blog.csd…
根据 上一篇 文章 , ETH  DMA 数据中断 会 发送 一个信号量 ,我使用 全局 搜索 这个信号量 s_xSemaphore 得到 一下 几个 值 根据 这个 分析  我们找到了   数据 的 第二站 :void ethernetif_input( void * pvParameters ) /** * This function is the ethernetif_input task, it is processed when a packet * is ready to be re…
wifi芯片为88w8686,已经写好了驱动,用的是SPI方式,接下来准备移植wpa_supplicant.参考的资料为一篇论文----<基于微控制器的WPA技术研究与应用>. wpa_supplicant src目录是wpa认证的源码,wpa_supplicant是wpa_supplicant程序的源码.分析wpa_supplicant里的源码可以了解wpa接口的使用方法. VS2013工具 在wpa_supplicant目录里面提供了两个工程VS2005和Qt Create,我打开的是VS…
第一层调用的移植和裁剪. wpa_supplicant_init 照论文的指示,删除wpa_params和wpa_global相关的东西.初始化流程也相当简单,driver初始化,eap_register_methods加密方法初始化,eloop_init事件循环初始化. wpa_supplicant_run 这其中注册了两个回调函数,然后eloop_run开始事件循环. wpa_supplicant_deinit eap_peer_unregister_methods注销加密方法,eloop_…