前言:由于之前听过太多人抱怨移植FreeRTOS到STM32有各种各样的问题,小灯经过一年多对FreeRTOS的研究并在公司产品中应用, 多少有些心得, 接下来就由小灯以最新版的FreeRTOS为例一步一步移植到STM32F103 上,并提醒大家某些需要注意的事项。本文档为非正式技术文档,故排版会有些凌乱,希望大家能提供宝贵意见以供小灯参考改进。下面先以IAR 移植为例, 说明移植过程中的诸多注意事项, 最后再以MDK移植时不再重复说明,所以还是建议大家先花些时间看IAR 的移植过程,哪怕你不使用IAR,最好也注意下那一大堆注意事项!一、从官网下载最新版的FreeRTOS源码下面的网址是官方最新源码的下载地址:https://sourceforge.net/projects/freertos/files/latest/download?source=files目前官方提供的最新版本是v9.0.0 , FreeRTOS 源码在解压目录下的路径为FreeRTOS_V9.0.0rc2\FreeRTOS\SourceFreeRTOS组织为了抢用户也是拼了命的, 不信你打开Demo文件夹看看, 里面提供了FreeRTOS在各种单片机上已经移植好的工程,如果建工程时遇到什么问题,可以参考下这些Demo。不过小灯现在着重于自己动手移植FreeRTOS,考虑到原子哥@正点原子的用户比较多,绝大多数习惯了使用MDK来开发STM32,因此小灯分别以IAR 和MDK两种使用比较广泛的开发环境来移植FreeRTOS。说到IAR 和MDK,不得不提的是小灯自从用了IAR 之后就果断放弃了MDK,相信很多人有这个经历,哈哈!在开始移植FreeRTOS之前,先介绍下FreeRTOS的源码:
上传时间: 2022-06-20
上传用户:
对于初次接触RT-thread 的朋友来说,要想自己重新建立一个keil 下的工程,可能会觉得不知所措,那么看到这篇文字,可能对你会有帮助。我在这里演示了如何提取官方bsp 包中stm32 分支中的相关文件,重新组织文件结构,按照下图中的文件夹分配,重新生成keil 下的工程,这个工程将会包括RT-thread 的内核和finsh 组件。我愿意在开始前说明下分别建立这几个文件夹的作用:project ——存放MDK工程文件;RT-thread ——存放rtt 源码包(放在最外层);apps ——存放我们自己(用户)写的一些应用代码;drivers ——存放硬件外设驱动;third_part ——存放第三方程序源码,比如stm32 固件库、解码库等;obj ——目标文件;这么一来, 各类代码分类一清二楚, 好了, 现在开始一步一步带大家走一遍生成这个工程的过程,当你明白后可按照自己的意愿去生成工程。拷贝所需的文件解压RT-Thread 源码,将源码放在我们所建立的工程文件夹外面(这么放是方便以后的工程可以共用)从源码bsp\stm32f10x 目录copy 下图所列出的文件,放入篇3- 例程1- 重构RTT最小系统\apps 目录RT-Thread 源码( 我改了下文件夹名字)我们准备构建的工程文件夹,包含上图中的各个文件夹从源码bsp\stm32f10x 目录copy 下图列出的必要的驱动文件,放入篇3- 例程1-重构RTT最小系统\drivers 目录
上传时间: 2022-06-20
上传用户:
前言:我从2011年年初开始玩LPC1768,在公司做过几个LPC1768的小项目,都是基于UCOS-112.86操作系统和LPC17Xx V2.0固件库(还有的基于ulP1.0以态网协议栈),产品运行稳定,芯片级操作也十分方便(毕竟是基于固件库操作,不用管那些复杂的寄存器),在官网看到不知何时出了UCOS-I1-V2.91,于是准备应用本版本编写今后的程序,移植时,有意留心写下这篇移植步骤,希望对初学者有帮助。一、移植前的准备工作下载所需文件:1、在LPCWARE官网下载LPC175x 6x CMSIS-Compliant Standard Peripheral Firmware Driver Library(LPC175X,LPC176x固件驱动库),下载地址链接:http://www.lpcware.com/content/nxpfile/lpc175x6x-cmsis-compliant-standard-perip heral-firmware-driver-library-keil-iar-gnu进入网址选择lpc175x6xcmsis-driver_library.zip下载pctis su amas aer baryp2i56tes(也可以在NXP官网下载,但本人去年下载的固件库编译时出现N多警告,看E不爽,自己改又不怕改出问题)2、在UCOS-1l官网下载UCOS-Il-V291源码(上面描述为2.89,但实际内核为2.91),下载地址链接http://micrium.com/page/downloads/source_code进入网址选择UC/os-11下载,如下
上传时间: 2022-06-26
上传用户:zhanglei193
教程从开发平台介绍、开发环境搭建、建立工程等基础内容,到 STM8L051F3 相关外设应用,包括:GPIO应用、EXTI应用、CLK应用、USART应用、TIMER应用、I2C应用、SPI应用、ADC应用、FWDGT应用和 WWDGT 应用等十大部分内容。外设应用部分的内容都配有源码,并配合硬件平台进行实验讲解。教程面对的对象是具有一定的 MCU 编程基础以及 C 语言基础的,主旨是帮助开发者快速入门和快速开发使用 STM8L051F3。
标签: STM8L051F3
上传时间: 2022-06-30
上传用户:
ASR M08-B设置软件 V3.2 arduino 2560+ASRM08-B测试程序 arduino UNO+ASRM08-B测试程序语音控制台灯电路图及C51源码(不带校验码) 继电器模块设置。 ASR M08-B是一款语音识别模块。首先对模块添加一些关键字,对着该模块说出关键字,串口会返回三位的数,如果是返回特定的三位数字,还会引起ASR M08-B的相关引脚电平的变化。【测试】①打开“ASR M08-B设置软件 V3.2.exe”。②选择“串口号”、“打开串口”、点选“十六进制显示”。③将USB转串口模块连接到语音识别模块上。接线方法如下:语音模块TXD --> USB模块RXD语音模块RXD --> USB模块TXD语音模块GND --> USB模块GND语音模块3V3 --> USB模块3V3(此端为3.3V电源供电端。)④将模块的开关拨到“A”端,最好再按一次上面的大按钮(按一次即可,为了确保模块工作在正确的模式)。⑤对着模块说“开灯”、“关灯”模块会返回“0B”、“0A”,表示正常(注意:0B对应返回值010,0B对应返回值010,返回是16进制显示的嘛,设置的时候是10进制设置的)。
标签: ASR M08-B
上传时间: 2022-07-06
上传用户:aben
经过一个星期的努力终于搞定了eMMC的驱动调试。调试的过程可谓坎坷曲折,代码粗陋简略,忽略了很多返回信息的解析。主要是和项目需求有关,只需读的功能就ok了。所以也就不费神去折腾那么多的东西了。由于刚开始连eMMC这个概念都不知道是什么,所以上网搜了不少资料。百度的功能真厉害,不想搜的出了一大堆,想要的没几篇,当然不是挑百度的刺,资料有没有帮助,这得看按需的啦,说实话工作了3年度娘的帮助不是盖的。eMMC的驱动和SD卡的驱动有9分相似。个人觉得。感觉网上eMMC驱动的资料当真不多,特在此分享调试经验及相关驱动资料以及驱动源码,希望有需要的朋友少走弯路。单块读写已经验证可以用。需要更复杂的功能的朋友,可以在此基础上添加。推荐多看资料里的MMC.CHM文档。
上传时间: 2022-07-07
上传用户:fliang
龙芯系列微处理器是中国拥有自主知识产权的中央处理器,中科院计算所从 2001 年开始研制龙芯系列处理器,于 2010 年正式成立龙芯中科技术有限公司,主要产品包括龙芯 1 号 CPU、龙芯 2 号 CPU 以及龙芯3 号 CPU。本书基于龙芯俱乐部与龙芯中科合作开发的,南京龙众创芯电子科技有限公司承制的智龙开发板,围绕龙芯 1 号芯片 LS1C 进行嵌入式系统开发讲解。本书内容共分 3 篇。基础篇包含实验平台和开发环境的搭建。中级篇为 Linux 基础应用编程,包含线程、信号、网络等基本操作。高级篇包含开发板硬件编程、驱动程序编写等高级操作。附录为嵌入式常用资料和智龙开发板的电路原理图。本书结合实践案例及应用场景,按照嵌入式系统的开发流程组织教材内容,使读者能熟练掌握从开发环境搭建到编写完整工程的流程。同时提供内核源码及实例代码,并给出测试结果,方便教师教学参考。本书不仅用于 MIPS 架构的龙芯 1 号芯片的嵌入式系统开发,还可用于基于 Linux 操作系统的嵌入式系统学习,具有广泛的适用性。其中,在内核原理、应用程序编写方面,与同类 ARM 架构芯片相比,其开发过程是通用的,包括虚拟机编译、程序下载、调试、应用开发、内核裁减。本书适用于应用型本科、高职高专院校嵌入式系统的课程教学,也可作为相关开发人员的自学教材和参考手册。
上传时间: 2022-07-08
上传用户:
菜鸟到高手,显得有些霸气哈,不过的确如此,官方带给我们一个比较实用的stm32的工具。这个 工具就是STM32CubeMX,昨天玩freeRTOS的时候就提到过。说到freeRTOS,这里就多说两句。 全局变量,在任务间相互访问的时候也是需要临界保护的,不然可能会出现奇怪的问题。不过我们 可以关掉时间片调度,任务间可以访问全局变量而不用加保护(不等于菜鸟可以随意代码)。关闭 了时间片调度,只有发生vTaskDelay的时候才会上下文切换。只要代码合理访问全局变量可以不加 保护的。因此代码也不是可以任意书写的,关于freeRTOS的问题,多看看源码,一切都会有答案。 源码较少,这里就不过多介绍。关闭时间片不是网上说的configUSE_TIME_SLICING这个宏定义, 老鸟发现这个宏压根没用哈,嘿嘿。阅读源码可以找到相关宏配置。不过不建议关闭,时间片调度 也可以让一个任务在执行一定时间后切换到其他就绪任务去执行。如果有freeRTOS相关问题,可以 留言给我。废话说多了点哈,继续我们的STM32CubeMX。下面我们来讲讲这个工具的作用,讲完 后,可以自己下载一个试试,挺简单不多介绍。
标签: stm32
上传时间: 2022-07-23
上传用户:
内核是操作系统的核心,操作系统的基本功能都是由内核提供的。文件生成和数据包传输等也是通过内核的功能实现的。但这些都不是简单的任务。平时可能意识不到,但这其中确实包含了很多先进技术。例如,在文件系统方面,配置文件时尽量减少磁盘扫描,在网络方面,由于路由表的入口数量庞大,因此设计时尽量保证对系统整体影响较小的设计。在内存管理、进程管理方面也作出了很多努力。解读这种先进技术也是内核构建的魅力之一。然而,最近的Linux所提供的并不只有基本功能。随着功能的不断发展,现在已经出现了很多特定领域的便捷功能和独特功能。即使是内核黑客也很少有人能够完全掌握。本书从Linux内核的众多先进功能中选取了一些必备并且有趣的内容进行介绍,同时也对内部的运行机制和结构进行了阐述。此外,本书还介绍了熟练使用这些功能所需的工具、设置方法以及调整方法等。省电就是其中一项内容。除了使用方法以外,本书还介绍了省电的理念、与硬件的关系等。此外,还提到了当前广受关注的虚拟化、资源管理、标准文件系统中所采用的ext4等已有功能和新功能。对于已有功能,本书结合最新的源码,介绍它的更改内容和新增功能。其中也包括文档中没有记载,且必须对内核内部有一定理解才能得知的信息,因此,即使是比较了解这个功能的人也可能会有新的发现。另外,本书还介绍了内核的相关工具,其中gcore在重要的系统中就是非常可靠的工具。
标签: linux
上传时间: 2022-07-27
上传用户:
eeworm.com VIP专区 单片机源码系列 2资源包含以下内容:1. 1602.rar2. SST25VF016B_SOFT.C.H.rar3. DS1302.rar4. nRF24z1的c51参考代码.rar5. Lcd(12864).rar6. PLL-MB1504-ASM.rar7. PWM.rar8. ds12887.rar9. CAN.rar10. ISD4004.rar11. STC_EEPROM.rar12. CH452L.rar13. A7102-433.rar14. hdlc_receive_code.rar15. hdmi.rar16. 51-nRF24L01code.rar17. protel99-se.rar18. 18b20.rar19. DS18B20.rar20. dianjisudu.rar21. uCos.rar22. wang-pro-1.rar23. MAX232.rar24. 单片机C语言程序设计实训100例.rar25. 实用的51子程序库.rar26. PT2262soft.rar27. 12864.rar28. FWLib.rar29. ADC_of_CC2430.rar30. ds18b20.rar31. dac0832ppt.rar32. pad.rar33. LED.rar34. qt_example.rar35. H-Bridge.rar36. LCD(1602).rar37. FATFS(10.4).rar38. adc0809.rar39. DA0832.rar40. key8x8.rar41. FAT32.rar42. dsp.rar43. IPv4-IPv6-6to4.rar44. 嵌入式C语言程序设计——使用MCS-51.rar45. 51单片机C语言常用模块与综合系统设计实例精讲.rar46. 由零开始开发STM8.pdf47. Draw2DGraph.rar48. PCF8563.rar49. LCD1602.rar50. C8051F350.rar51. M16-Mp3.rar52. codewarrior_Samples.rar53. MSP430z_f247.rar54. loadfi.rar55. ARM.rar56. JTAG.rar57. SMDK2410_ZY_V11.rar58. CNC.rar59. USB_mouse.zip60. tinyos-2.x.rar61. j_11970_93small_rtos.rar62. CH374EVT.ZIP.ZIP63. LCD.rar64. TLC5615C.rar65. ADS7843(C51).rar66. GSM@C51.rar67. RF905.rar68. s3c2440_driver.rar69. C8051Fapplication.rar70. 声控小车.rar71. MEGA8USB5andavr.rar72. fat.rar73. Keil.rar74. U_Boot_Manual.rar75. 51mcu.rar76. LM1875gongfang.rar77. fs_sample1.rar78. MPC03-LV(20051210).rar79. 51.rar80. MINIGUI-PROG-GUIDE-V2.0-4C.rar81. protelxilinx.zip82. Nucleus.rar83. DigitalPersona.rar84. 12864LCD.rar85. 5110.rar86. C52-PS2.rar87. plc.rar88. C51.rar89. 8253.rar90. H.264编码解码器源码(c语言).zip91. C51.rar92. Intelligence_alam_code.zip93. dianyuan.rar94. 嵌入式电子钟.rar95. dra_psm.rar96. WavecomQ2406.rar97. Nios.rar98. HGui4.1.rar99. avr_iar_winavr.rar100. IIC.rar
上传时间: 2013-05-15
上传用户:eeworm