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

哪些网站可以做相册视频可以免费做演播的听书网站

哪些网站可以做相册视频,可以免费做演播的听书网站,广西建设厅网站绿色建筑标识,网站专题页面怎么做在嵌入式系统开发中#xff0c;实时操作系统#xff08;RTOS#xff09;的选择对于系统性能和稳定性至关重要。ThreadX是一种广泛使用的RTOS#xff0c;它以其小巧、快速和可靠而闻名。在本文中#xff0c;我们将探讨如何将ThreadX移植到STM32微控制器上#xff0c;特别是… 在嵌入式系统开发中实时操作系统RTOS的选择对于系统性能和稳定性至关重要。ThreadX是一种广泛使用的RTOS它以其小巧、快速和可靠而闻名。在本文中我们将探讨如何将ThreadX移植到STM32微控制器上特别是我们将深入研究通用启动文件tx_initialize_low_level.s。 什么是tx_initialize_low_level.s tx_initialize_low_level.s是ThreadX启动过程的关键组成部分。这个文件包含了一些底层的初始化代码这些代码在系统启动时运行以设置正确的硬件环境并跳转到主程序。 tx_initialize_low_level.s的主要组成部分 让我们来看一下tx_initialize_low_level.s的主要组成部分 IMPORT _tx_thread_system_stack_ptr IMPORT _tx_initialize_unused_memory IMPORT _tx_thread_context_save IMPORT _tx_thread_context_restore IMPORT _tx_timer_interrupt IMPORT __main IMPORT __initial_sp IMPORT __Vectors IMPORT __tx_PendSVHandler这部分代码导入了一些外部符号 SYSTEM_CLOCK EQU 16800000 SYSTICK_CYCLES EQU ((SYSTEM_CLOCK / 1000) -1)这部分代码定义了一些常量包括系统时钟频率、SysTick定时器的周期。 AREA ||.text||, CODE, READONLY PRESERVE8这部分代码定义了代码区域并指示堆栈应保持8字节对齐。 EXPORT _tx_initialize_low_level _tx_initialize_low_level这部分代码是_tx_initialize_low_level函数的定义开始的地方。在这个函数中会写入初始化系统的代码。 EXPORT SysTick_Handler SysTick_Handler PUSH {r0, lr} BL _tx_timer_interrupt POP {r0, lr} BX LR这部分代码是SysTick中断处理程序的定义。当系统定时器产生中断时这个函数会被调用。 完整代码 IMPORT _tx_thread_system_stack_ptrIMPORT _tx_initialize_unused_memoryIMPORT _tx_thread_context_saveIMPORT _tx_thread_context_restoreIMPORT _tx_timer_interruptIMPORT __mainIMPORT __initial_spIMPORT __VectorsIMPORT __tx_PendSVHandler SYSTEM_CLOCK EQU 7200000 SYSTICK_CYCLES EQU ((SYSTEM_CLOCK / 1000) -1)AREA ||.text||, CODE, READONLYPRESERVE8EXPORT _tx_initialize_low_level _tx_initialize_low_levelCPSID iLDR r0, _tx_initialize_unused_memory ; Build address of unused memory pointerLDR r1, __initial_sp ; Build first free addressADD r1, r1, #4 ;STR r1, [r0] ; Setup first unused memory pointerMOV r0, #0xE000E000 ; Build address of NVIC registersLDR r1, __Vectors ; Pickup address of vector tableSTR r1, [r0, #0xD08] ; Set vector table addressLDR r0, _tx_thread_system_stack_ptr ; Build address of system stack pointerLDR r1, __Vectors ; Pickup address of vector tableLDR r1, [r1] ; Pickup reset stack pointerSTR r1, [r0] ; Save system stack pointerMOV r0, #0xE000E000 ; Build address of NVIC registersLDR r1, SYSTICK_CYCLESSTR r1, [r0, #0x14] ; Setup SysTick Reload ValueMOV r1, #0x7 ; Build SysTick Control Enable ValueSTR r1, [r0, #0x10] ; Setup SysTick ControlLDR r1, 0x00000000 ; Rsrv, UsgF, BusF, MemMSTR r1, [r0, #0xD18] ; Setup System Handlers 4-7 Priority RegistersLDR r1, 0xFF000000 ; SVCl, Rsrv, Rsrv, RsrvSTR r1, [r0, #0xD1C] ; Setup System Handlers 8-11 Priority Registers ; Note: SVC must be lowest priority, which is 0xFFLDR r1, 0x40FF0000 ; SysT, PnSV, Rsrv, DbgMSTR r1, [r0, #0xD20] ; Setup System Handlers 12-15 Priority RegistersBX lrEXPORT SysTick_Handler SysTick_HandlerPUSH {r0, lr}BL _tx_timer_interruptPOP {r0, lr}BX LRALIGN LTORGEND注意事项 在移植到自己板子上的时候要注意更改系统时钟频率我这里是168Mhz代码中的指令是有缩进的不能取消不然会把指令识别成标签 在某些汇编语言中指令前面的空格可能是有意义的。这是因为一些汇编器如ARM汇编器使用缩进来区分标签和指令。具体来说 如果一行的开始处直接是一个指令那么汇编器可能会将其视为一个标签。标签通常用于表示内存位置如函数的开始。 如果一行的开始处是一个或多个空格然后是一个指令那么汇编器会正确地将其视为一个指令。 因此如果你删除了指令前面的空格汇编器可能会误将指令视为标签从而导致错误。
http://www.hkea.cn/news/14464059/

相关文章:

  • 智慧团建网站怎么转团关系广东最新消息
  • 政务网站建设总结基础做网站
  • 信息网站建设费使用年限app开发和网站开发价格
  • 养生网站源码网站移动端优化工具
  • 重庆网站设计方案外链百科
  • 网站开发会员功能教程做网站大概花多少钱
  • 南京电信网站空间扩容网站刚刚开始怎么做
  • 顺德顺的网站建设山西时代网站建设
  • led外贸网站制作万网网站建设方案书
  • 公司做阿里巴巴网站要多少钱网站后台更新后主页没有变化
  • wordpress 线条不显示不出来中山口碑seo推广
  • 做电影网站需要什么服务器云南昌旅游的网站建设
  • 网站空间购买费用网站建设优化推广贵州
  • 南山网站设计训推荐wordpress安装方式
  • 做网站设计的总结装潢设计软件有哪些
  • html5经管网站模板推销网站的方法
  • 企业网站建设的思路中江建设局网站
  • 响应式网站是做多大尺寸cms系统排行榜
  • 仿网站被封怎么办怎样做门户网站
  • 爱网站查询男女的做那个视频网站
  • 泊头市建设局官方网站网站站点建设端口号的作用
  • 网站建设中页面源码wordpress 热门 tags
  • app加网站开发app开发公司的组织架构
  • 如何做一张图片的网站东凤镇做网站公司
  • 网站怎么管理维护无锡网站开发定制开发
  • 电子商务网站创建过程做网站界面尺寸
  • 做logo好的网站wordpress显示用户无效
  • 北京网站制作排名吴江区建设银行招聘网站
  • 做解决方案的网站西安抖音seo推广
  • 北京网站排行榜万维网注册域名后怎么导入网站