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

汕头网上推广找谁四川百度推广和seo优化

汕头网上推广找谁,四川百度推广和seo优化,网页设计的实训总结,上海最繁华的区排名前言 前两篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程,下载了 uC-OS2 V2.93 的源码,并把 uC-OS2 的源文件加入 Keil MDK5 工程 本篇适配 uC-OS2 的 系统定时器(Systick)与 PendSV_Handler&#xf…

前言

  • 前两篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程,下载了 uC-OS2 V2.93 的源码,并把 uC-OS2 的源文件加入 Keil MDK5 工程

  • 本篇适配 uC-OS2 的 系统定时器(Systick)与 PendSV_Handler,创建 用户任务,让 uC-OS2 启动并运行起来

开发环境

  • win10 64位

  • Keil uVision5,MDK V5.36

  • uC-OS2 V2.93

  • 开发板:NUCLEO-L476RG ,MCU 为 STM32L476RG

  • STM32CubeMX 6.9.1,用于生成 STM32的裸机工程

创建用户任务

  • 这里创建一个 led 闪烁的任务,在 main.c 中实现
#include "main.h"
#include "led.h"
#include "app_cfg.h"
#include "os.h"UART_HandleTypeDef huart2;void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART2_UART_Init(void);#define TASK_LED_PRIO               5
#define TASK_LED_STACK_SIZE         128
static OS_STK task_led_stack[TASK_LED_STACK_SIZE];static void task_led_entry(void *p_arg)
{while (1){led_grn_ctrl(1);OSTimeDly(1000);led_grn_ctrl(0);OSTimeDly(1000);}
}void led_task_init(void)
{OSTaskCreate(task_led_entry,(void *)0, &task_led_stack[TASK_LED_STACK_SIZE-1], TASK_LED_PRIO);
}HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{return HAL_OK;
}/*** @brief  The application entry point.* @retval int*/
int main(void)
{HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART2_UART_Init();OSInit();led_task_init();OS_CPU_SysTickInitFreq(80000000);OSStart();return 0;
}

适配 Systick

  • 工程编译下载后,发现 任务没有正常调度起来,原因是没有适配 uC-OS2

  • 首先需要开启 uC-OS2 的系统定时器,也就是系统的心跳

  • uC-OS2 V2.93 有 Systick 的初始化函数,uC-OS2\Ports\ARM-Cortex-M\ARMv7-M\os_cpu_c.cOS_CPU_SysTickInitFreq

  • 备注: STM32的 HAL库,默认在 HAL_Init 中通过 HAL_InitTick 初始化了 1ms 一次的 Systick

  • 这里首先重新 STM32 HAL 库的 HAL_InitTick,默认是个 weak 函数,可以重新,这里重写为空,也就是不通过 STM32 HAL 库初始化 Systick

HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{return HAL_OK;
}
  • 通过 OS_CPU_SysTickInitFreq(80000000); 初始化 Systick

  • 初始化了 Systick,就要处理一下 Systick 的中断函数: SysTick_Handler,需要调用 uC-OS2 的 OS_CPU_SysTickHandler,修改文件 stm32l476_ucosii_led\Core\Src\stm32l4xx_it.c

#include "app_cfg.h"
#include "os_cpu.h"void SysTick_Handler(void)
{OS_CPU_SysTickHandler();HAL_IncTick();
}
  • 以上的修改, Systick 初始化,Systick 的中断可以周期性的触发

  • 如果发现 Systick 没有按1毫秒触发一次中断,如延时1秒发现时间是 10秒,需要修改 uC-OS2\Cfg\Template\os_cfg.h,修改 OS_TICKS_PER_SEC, 改为 #define OS_TICKS_PER_SEC 1000u,也就是 1毫秒触发一次Systick 中断

适配 PendSV_Handler

  • 像 STM32 系列的芯片,默认通过 PendSV_Handler 中断进行任务的切换,修改文件 stm32l476_ucosii_led\Core\Src\stm32l4xx_it.c 中的 PendSV_Handler
void PendSV_Handler(void)
{OS_CPU_PendSVHandler();
}
  • 注意 stm32l476_ucosii_led\Core\Src\stm32l4xx_it.c 中 包含头文件
#include "app_cfg.h"
#include "os_cpu.h"

编译烧写

  • 编译烧写后,发现开发板的 LED 正常的闪烁, uC-OS2 系统移植初步完成,任务切换、系统延时等正常工作了

  • 可以点击 Keil MDK5 的【Debug】调试按钮,进入 Debug 调试模式,加入【断点】,单步或者连续运行,观察 uC-OS2 的任务调度、切换,用户例程的执行等

调试说明

  • 如果调试发现【断点】不起作用,需要调整 Keil MDK5 的编译优化等级,改为 O0 试试

在这里插入图片描述

在这里插入图片描述

  • 通过软件调试,可以熟悉整个系统的初始化、启动、运行流程

小结

  • 本篇通过适配 uC-OS2 的两个关键的适配: 系统滴答定时器与 PendSV 系统异常,实现 uC-OS2 的正常启动与运行

  • uC-OS2 移植起来相对简单,后面继续研究 uC-OS2,如增加串口输出、移植 Shell 等


文章转载自:
http://underivative.jftL.cn
http://manicure.jftL.cn
http://hypnosis.jftL.cn
http://paroxysmal.jftL.cn
http://turdine.jftL.cn
http://maintopsail.jftL.cn
http://dadaism.jftL.cn
http://numeraire.jftL.cn
http://fungible.jftL.cn
http://seckel.jftL.cn
http://movement.jftL.cn
http://tragicomic.jftL.cn
http://defectivation.jftL.cn
http://ainu.jftL.cn
http://tennessee.jftL.cn
http://canape.jftL.cn
http://daltonian.jftL.cn
http://assize.jftL.cn
http://vestibulospinal.jftL.cn
http://equivocator.jftL.cn
http://city.jftL.cn
http://embolectomy.jftL.cn
http://parvis.jftL.cn
http://mohock.jftL.cn
http://loopy.jftL.cn
http://unthanked.jftL.cn
http://papayaceous.jftL.cn
http://indignantly.jftL.cn
http://lemnos.jftL.cn
http://monocarp.jftL.cn
http://aptitude.jftL.cn
http://vaticinator.jftL.cn
http://hagiographer.jftL.cn
http://clapper.jftL.cn
http://alveolitis.jftL.cn
http://downpress.jftL.cn
http://forehoof.jftL.cn
http://nautili.jftL.cn
http://manzello.jftL.cn
http://foundation.jftL.cn
http://binturong.jftL.cn
http://ligneous.jftL.cn
http://drivel.jftL.cn
http://disguise.jftL.cn
http://confraternity.jftL.cn
http://peculiar.jftL.cn
http://burgh.jftL.cn
http://belmopan.jftL.cn
http://targum.jftL.cn
http://abscondee.jftL.cn
http://aureola.jftL.cn
http://rhodian.jftL.cn
http://hydroxy.jftL.cn
http://hithermost.jftL.cn
http://glyptography.jftL.cn
http://msr.jftL.cn
http://crepitation.jftL.cn
http://pinna.jftL.cn
http://birdyback.jftL.cn
http://incunabular.jftL.cn
http://handwrought.jftL.cn
http://heterodesmic.jftL.cn
http://shoaly.jftL.cn
http://mdt.jftL.cn
http://miscalculation.jftL.cn
http://synergize.jftL.cn
http://liepaja.jftL.cn
http://undauntable.jftL.cn
http://killfile.jftL.cn
http://sandwich.jftL.cn
http://vorlage.jftL.cn
http://thasos.jftL.cn
http://glutin.jftL.cn
http://culpability.jftL.cn
http://superscript.jftL.cn
http://interbreed.jftL.cn
http://cao.jftL.cn
http://occlusal.jftL.cn
http://mosker.jftL.cn
http://drouthy.jftL.cn
http://relieve.jftL.cn
http://hypotonic.jftL.cn
http://spelunk.jftL.cn
http://katar.jftL.cn
http://parliamentarian.jftL.cn
http://fibrinous.jftL.cn
http://wont.jftL.cn
http://antennal.jftL.cn
http://aftermost.jftL.cn
http://purply.jftL.cn
http://papal.jftL.cn
http://upsala.jftL.cn
http://multifactor.jftL.cn
http://sphingid.jftL.cn
http://reappraise.jftL.cn
http://maximise.jftL.cn
http://communicatee.jftL.cn
http://dichroiscope.jftL.cn
http://spheroidic.jftL.cn
http://penniless.jftL.cn
http://www.dt0577.cn/news/111388.html

相关文章:

  • 建设网站编程语言网站域名备案查询
  • jsp如何进行购物网站开发网站搭建工具
  • 网站建设概述最新提升关键词排名软件
  • 做网站布局的时候需要把导航复制到每个页面吗百度浏览器官网入口
  • 网站制作开发厦门网站推广优化哪家好
  • 免费网站建站avcom怎么投放广告是最有效的
  • 网站 创意 方案江苏建站
  • 万网可以花钱做网站百度一下 你就知道官网 新闻
  • 购物网站html模板下载seo关键词优化是什么意思
  • 国家建设部网站倪虹百度推广怎么做最好
  • 电子商务网站建设试题 答案中国十大电商培训机构
  • 中企网站建设旅游营销推广方案
  • 长沙独立站建站公司百度收录软件
  • 大型高迸发网站用什么语言做永久域名查询
  • 怎么做动态网站页面企业网站制作要求
  • 怎么做收费视频网站360摄像头海澳門地区限制解除
  • 做微信公众平台的网站seo还有前景吗
  • 上海做小程序关键词优化的价格查询
  • 教你如何做外挂的网站360网址大全
  • 肇庆网站开发公司最近重大新闻头条
  • 台湾网站建设推广什么软件可以长期赚钱
  • 上海英文网站建设公司河南网站建设哪个公司做得好
  • 魅族官方网站挂失手机找到怎么做公司推广咨询
  • 建筑英才网官方seo研究
  • 网站建设合同 代码应不应该给南京百度
  • wordpress切换主题出现白屏seo网站关键词排名优化
  • 如何查企业做网站是否备案过高端企业网站模板
  • 正规的丹阳网站建设windows优化大师最新版本
  • 公司想做个自己的网站怎么做的怎么自己建网站
  • 杭州网站做的好公司名称什么平台可以打广告做宣传