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

国外建站企业北京鑫创网站建设

国外建站企业,北京鑫创网站建设,四川华地建设工程公司网站,不允许访问网站#xfeff;#xfeff;上一次#xff0c;我们简单的测试了FreeRTOS的基于IAR EWARMv6.4和STM32F103VET6平台的Demo#xff0c;对其有了一个基本认识。接下来我们开始自己移植FreeRTOS的过程。 1、创建一个“FreeRTOSTestProject”项目文件夹#xff0c;并在其下创建FreeR…上一次我们简单的测试了FreeRTOS的基于IAR EWARMv6.4和STM32F103VET6平台的Demo对其有了一个基本认识。接下来我们开始自己移植FreeRTOS的过程。 1、创建一个“FreeRTOSTestProject”项目文件夹并在其下创建FreeRTOS、Libraries、Project、User文件夹。 与无操作系统的项目一样User中存放应用文件Project中存放项目文件Libraries中存放STM32F1xx标准库文件。而在FreeRTOS文件夹中存放操作系统文件。 将\FreeRTOSv9.0.0\FreeRTOS\Source目录下的6个源文件及include文件夹复制到新建项目的FreeRTOS文件夹。 将\FreeRTOSv9.0.0\FreeRTOS\Source\portable\IAR\ARM_CM3目录下的三个文件也复制到新建项目的FreeRTOS文件夹。 将FreeRTOSv9.0.0\FreeRTOS\Source\portable\MemMang目录下的heap_4.c文件复制到新建项目的FreeRTOS文件夹。 对于内存管理的几个文件的大致内容如下 heap_1.c这是所有实现中最简单的一个。一旦分配内存之后它甚至不允许释放分配的内存。 heap_2.c和heap_1不同这个方案使用一个最佳匹配算法它允许释放之前分配的内存块。它不会把相邻的空闲块合成一个更大的块可能会造成内存碎片。 heap_3.c简单的包装了标准库中的malloc()和free()函数包装后的malloc()和free()函数具备线程保护。 heap_4.c这个方案使用一个最佳匹配算法但不像方案2那样。它会将相邻的空闲内存块合并成一个更大的块。 heap_5.c这个方案同样实现了heap_4.c中的合并算法并且允许堆栈跨越多个非连续的内存区。 将\FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_STM32F103_IAR目录下的FreeRTOSConfig.h文件复制到新建项目的FreeRTOS文件夹。 至此全部用于移植的文件准备完成。 2、在IAR EWARM中新建workspace再一个项目取名为FreeRTOSTest并添加组 并向个组中添加相应的文件。 3、配置项目选项 项目的属性选项配置与误操作系统时一样需要说一下的是在Assembler中的Preprocessor标签下添加$PROJ_DIR$\..\..\User\inc路径因为在会变文件中有对FreeRTOSConfig.h文件的引用。 4、修改FreeRTOSConfig.h配置文件这个根据需要修改目前只定义如下3个宏定义避免去修改启动文件 #define vPortSVCHandler         SVC_Handler #define xPortPendSVHandler     PendSV_Handler #define xPortSysTickHandler     SysTick_Handler 如果仅作次修改编译时会报警说重复定义所以还需要注释掉stm32f10x_it.c文件中对三个函数的定义。 5、编写测试应用 在main.c文件中添加相应的代码声明如下函数及代码我计划4个任务 /*************************************************************************** 函数声明 ***************************************************************************/ static void vTask1(void *pvParameters); static void vTask2(void *pvParameters); static void vTask3(void *pvParameters); static void vTask4(void *pvParameters); static void AppTaskCreate (void); /*************************************************************************** 变量声明 ***************************************************************************/ static TaskHandle_t xHandleTask1 NULL; static TaskHandle_t xHandleTask2 NULL; static TaskHandle_t xHandleTask3 NULL; static TaskHandle_t xHandleTask4 NULL;任务创建函数如下 static void AppTaskCreate (void) {xTaskCreate( vTask1, vTask1,512, NULL,1, xHandleTask1); xTaskCreate( vTask2, vTask2,512, NULL,1, xHandleTask2); xTaskCreate( vTask3, vTask3,512, NULL,1, xHandleTask3); xTaskCreate( vTask4, vTask4,512, NULL,1, xHandleTask4); } 主函数如下 int main(void) {/* 创建任务 */AppTaskCreate();/* 启动任务调度开始执行任务 */vTaskStartScheduler(); }编译无错误4个任务同时运行。移植初步测试成功。
http://www.pierceye.com/news/108551/

相关文章:

  • 网站做视频wordpress插件手动升级
  • wordpress收不到网站没有收款接口网站怎么做收款
  • 信阳做网站推广用tornado做网站
  • 网站开发与数据库ppt成都优化网站建设
  • 毕业设计静态网站建设选题依据企业网络营销的优势
  • 网站图片动态换名网站充值支付宝收款怎么做
  • 蜘蛛网是个什么网站做特卖的购物网站
  • 从零学做网站古典 网站模板
  • h5网站模板开发网站后台哪些功能需要前端配合
  • 网站建设 宜宾佛山企业网站自助建站
  • 苏宁易购网站建设 的定位手机网站制作招聘
  • 个人网站备案申请360老是提示危险网站
  • 建网站哪个好 优帮云自己怎么注册域名
  • 做3ds磁铁卡网站大连旅顺博物馆
  • 邢台市住房和城乡建设局网站大连网站推广机构
  • 网站建设开标书房地产网页设计
  • 中国建设建设工程造价管理协会网站建设视频网站要求吗
  • 商务网站教程深圳定制纸箱
  • 湖南手机版建站系统哪家好自己做网站地图
  • 天津网站制作报价阿里云需要网站建设方案书
  • 做最好的美食分享网站网站建设客户需求分析
  • 如何重建网站广州市服务好的网站制作排名
  • 做一名优秀网站设计师计划网站描述怎样写
  • 网页二级网站怎么做网监关闭的网站怎么恢复
  • 甘肃省建设监理协会 官方网站国内知名公关公司
  • 如何将网站和域名绑定阿里云1M做网站
  • 南城网站建设公司咨询东莞智通人才网最新招聘
  • app建设网站公司哪家好php网站修改代码
  • 哪些网上订餐的网站做的好地情网站建设
  • 重庆推广网站的方法国内最近的新闻大事