当前位置: 首页 > news >正文

南宁网站建设-中国互联linux 网站目录权限设置

南宁网站建设-中国互联,linux 网站目录权限设置,wordpress和织梦哪个更简单,网站建设有几大板块最近因为工作需要用到FreeRTOS#xff0c;其实开始本人内心是拒绝的因为自己只学习过UCOSIII还没实际上过什么大又复杂的工程#xff0c;但是谁让FreeRTOS他是Free的呢公司成本考虑肯定是不会选择USOS的#xff0c;这个道理就像公司内心深处不想给你涨工资一样。好了跑偏了言…  最近因为工作需要用到FreeRTOS其实开始本人内心是拒绝的因为自己只学习过UCOSIII还没实际上过什么大又复杂的工程但是谁让FreeRTOS他是Free的呢公司成本考虑肯定是不会选择USOS的这个道理就像公司内心深处不想给你涨工资一样。好了跑偏了言归正传既然要用自然是要熟悉一下这个实时操作的内核的工作过程了说道到里想起来自己当初学USOC时是把代码几乎进行了逐行的走读最后因为各种原因都没能实际使用最后还是忘记了所以我建议对于这一类的操作系统的学习还是重在API函数的用法学习上不需要太对代码集体实现细节进行研究时间成本高有这个时间建议移植一个系统进行一些应用实践是最有实际效果的。因此我现在就在践行自己的经验移植FreeRTOS到板子上学习实际项目是用的STMF107系列的但是无奈手头上暂时只有F407其实都是一样的所以废话不多说了开始移植实操。 查找资料 通过网上查阅各位大神牛人的博客最后选择了如下两个文档: 1.FreeRTOS中文实用教程这是英文原文下载地址http://www.FreeRTOS.org 2,STM32F429FreeRTOS开发手册这是原子哥的开源电子网上都可以下来最后再补充一下FreeRTOS源码的下载地址https://jaist.dl.sourceforge.net/project/freertos/FreeRTOS/V10.0.1/FreeRTOSv10.0.1.exe 开始行动 1.找一个标准库的实例这里我也用的是原子哥的F407的标准工程然后解压后的文件我们只用留下Source\portable如下的代码因为我移植的工程是keil5的所以留下keil但是这个文件夹其实没什么用对于我下载到的版本。其中RVDS文件夹下也只留下的目标板相关的ARM_CM4F  因为FreeRTOS这个版本已经支持F4的FPU 到此源码处理完毕了接下来就是将源码加入到标准工程中去注意将SYSTEM下的delay.c从工程删除。然后编译出现如下错误 此时就要用到FreeRTOS的一些demo程序找到官方对于407的移植工程FreeRTOSv10.0.1\FreeRTOS\Demo\CORTEX_M4F_STM32F407ZG-SK下的FreeRTOSConfig.h拷贝到工程中。在编译又将看到如下错误 打开FreeRTOSConfig.h可以看到这样一段代码 #ifdef __ICCARM__#include stdint.hextern uint32_t SystemCoreClock; #endif 现在需要将其改成如下部分就可以去除这个错误 #if defined (__ICCARM__)||defined(__CC_ARM)||defined(__GNUC__)#include stdint.hextern uint32_t SystemCoreClock; #endif 然后再编译就会发现新的错误 Build target Template compiling main.c... compiling croutine.c... compiling event_groups.c... compiling list.c... compiling queue.c... compiling stream_buffer.c... compiling tasks.c... compiling timers.c... compiling port.c... linking... ..\OBJ\Template.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by port.o and stm32f4xx_it.o). ..\OBJ\Template.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by port.o and stm32f4xx_it.o). ..\OBJ\Template.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by port.o and stm32f4xx_it.o). Not enough information to list image symbols. Not enough information to list the image map. Finished: 2 information, 0 warning and 3 error messages. ..\OBJ\Template.axf - 3 Error(s), 0 Warning(s). Target not created提示三个函数有重复定义其中SysTick_Handler再FreeRTOS中被重新定义成系统心跳处理中断函数PendSV_HandlerSVC_Handler也被在FreeRTOS中重新定义用于任务切换所以需要注释掉stm32F4xxx_it.c中的这三个中断函数。接着编译错误如下 linking... ..\OBJ\Template.axf: Error: L6218E: Undefined symbol pvPortMalloc (referred from event_groups.o). ..\OBJ\Template.axf: Error: L6218E: Undefined symbol vPortFree (referred from event_groups.o). ..\OBJ\Template.axf: Error: L6218E: Undefined symbol vApplicationIdleHook (referred from tasks.o). ..\OBJ\Template.axf: Error: L6218E: Undefined symbol vApplicationStackOverflowHook (referred from tasks.o). ..\OBJ\Template.axf: Error: L6218E: Undefined symbol vApplicationTickHook (referred from tasks.o). Not enough information to list image symbols. Finished: 1 information, 0 warning and 5 error messages. ..\OBJ\Template.axf - 5 Error(s), 0 Warning(s). Target not created其中是先关HOOK钩子函数未定义错在FreeRTOSConfig.h中改为如下 #define configUSE_PREEMPTION 1//调度器采用抢占式还是协程式 #define configUSE_IDLE_HOOK 0//空闲任务钩子函数 #define configUSE_TICK_HOOK 0//时间片钩子函数 #define configCPU_CLOCK_HZ ( SystemCoreClock ) #define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) #define configMAX_PRIORITIES ( 5 )//最大任务优先级 #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 130 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 75 * 1024 ) ) #define configMAX_TASK_NAME_LEN ( 10 )//任务名最长 #define configUSE_TRACE_FACILITY 1 #define configUSE_16_BIT_TICKS 0//系统节拍计数器 #define configIDLE_SHOULD_YIELD 1//空闲任务是否会为同等优先级的任务让出CPU使用权 #define configUSE_MUTEXES 1 #define configQUEUE_REGISTRY_SIZE 8 #define configCHECK_FOR_STACK_OVERFLOW 0//堆栈溢出检测 #define configUSE_RECURSIVE_MUTEXES 1//递归互斥信号量 #define configUSE_MALLOC_FAILED_HOOK 0//内存分配失败钩子函数 #define configUSE_APPLICATION_TASK_TAG 0 #define configUSE_COUNTING_SEMAPHORES 1 #define configGENERATE_RUN_TIME_STATS 0//运行时间统计功能 在运行编译错误如下 linking... ..\OBJ\Template.axf: Error: L6218E: Undefined symbol pvPortMalloc (referred from event_groups.o). ..\OBJ\Template.axf: Error: L6218E: Undefined symbol vPortFree (referred from event_groups.o). Not enough information to list image symbols. Finished: 1 information, 0 warning and 2 error messages. ..\OBJ\Template.axf - 2 Error(s), 0 Warning(s). Target not created这一部分是我前面忘记加入内存管理函数文件导致的在\FreeRTOSv10.0.1\FreeRTOS\Source\portable\MemMang目录下一共有5个内存管理的点C文件 在这里我们选择4结尾的管理方式其中具体各个文件的管理方法是什么暂时不求甚解。将heap_4.c加入到工程。编译 Build target Template compiling heap_4.c... linking... Program Size: Code19344 RO-data424 RW-data160 ZI-data78936 FromELF: creating hex file... ..\OBJ\Template.axf - 0 Error(s), 0 Warning(s).至此移植完成。具体配置后面再进行学习。https://github.com/Dazzingdusk/freeRTOS这里有我自己移植成功后自己写的一消息对列的代码其中驱动部分使用的是原子哥的例子中的代码。  转载于:https://www.cnblogs.com/w-smile/p/9313171.html
http://www.pierceye.com/news/695103/

相关文章:

  • wordpress 鼠标经过seo网站内容优化有哪些
  • 单页网站制作视频教程深圳有哪些软件外包公司
  • 嘉兴电子商务网站建设wordpress如何添加页面子目录
  • 教育在线网站怎样做直播seo网站推广怎样
  • 响应式的网站建设一个多少钱百度域名解析
  • 东莞做网站卓诚网络免费大数据分析网站
  • 网站用什么图片格式好seo学徒招聘
  • 地区网站建设网站用户反馈
  • 网站备案背景幕布下载成都最好的seo外包
  • 荆州 商务 网站建设郑州网站建设灵秀
  • 重庆市建筑工程信息官方网站注册号域名后如何建设公司网站
  • 江门网站建设junke100深圳小企业网站建设设计制作
  • 个人域名能做网站吗江苏外贸型网站制作
  • 文登区做网站的公司琴行网站开发学术论文
  • 嵌入式网站开发学习百度seo优化收费标准
  • 网站评价及优化分析报告湖南省邵阳建设局网站
  • 网站推广是做什么的深圳市住房建设与保障局官方网站
  • qq群推广网站lamp网站开发制作
  • ui网站界面设计广州省建设监理协会网站
  • 网站界面设计教程宁波正规网站seo公司
  • 网站建设与管理中专上海注册公司注册地址
  • 清溪网站建设怎么用wordpress打开网站
  • 网站稳定性不好的原因wordpress仿站维护
  • 银行管理系统网站建设最专业的医疗网站建设
  • 网站应该怎么做住建官网查询
  • 建设网站类型条形码生成器在线制作图片
  • 邯郸广告公司网站建设seo排名怎么做
  • 大眼睛网站建设做艺术品的网站
  • 自助免费网站建设平台网站开发php还是jsp
  • 网站建设成本多少北京怎么进行网页设计