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

新乡做网站的营销型网站建设效果

新乡做网站的,营销型网站建设效果,wordpress如何恢复默认主题,wordpress说说功能继上一篇笔记#xff0c;搭建好STM32的编译框架#xff0c;编译出来的OHOS_Image.bin并不能跑不起来。 今天要在bsp里面添加一些代码#xff0c;让程序能跑起来。 先从裸机点亮LED灯开始#xff0c;准备以下3个文件:startup和system文件可以用OHOS官方代码。 /device/boar…继上一篇笔记搭建好STM32的编译框架编译出来的OHOS_Image.bin并不能跑不起来。 今天要在bsp里面添加一些代码让程序能跑起来。 先从裸机点亮LED灯开始准备以下3个文件:startup和system文件可以用OHOS官方代码。 /device/board/demo/demo_board/liteos_m/bsp/src/main.c /device/board/demo/demo_board/liteos_m/bsp/src/system_stm32f4xx.c /device/board/demo/demo_board/liteos_m/bsp/src/startup_stm32f407xx.s main.c里面做最简单的初始化由于官方soc提供的st库是HAL库因此用HAL库点亮LED。 #include stm32f4xx_hal.hvoid HAL_MspInit(void) {__HAL_RCC_SYSCFG_CLK_ENABLE();__HAL_RCC_PWR_CLK_ENABLE(); }void SystemClock_Config(void) {RCC_OscInitTypeDef RCC_OscInitStruct {0};RCC_ClkInitTypeDef RCC_ClkInitStruct {0};__HAL_RCC_PWR_CLK_ENABLE();__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);RCC_OscInitStruct.OscillatorType RCC_OSCILLATORTYPE_HSE;RCC_OscInitStruct.HSEState RCC_HSE_ON;RCC_OscInitStruct.PLL.PLLState RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource RCC_PLLSOURCE_HSE;RCC_OscInitStruct.PLL.PLLM 25;RCC_OscInitStruct.PLL.PLLN 336;RCC_OscInitStruct.PLL.PLLP RCC_PLLP_DIV2;RCC_OscInitStruct.PLL.PLLQ 7;HAL_RCC_OscConfig(RCC_OscInitStruct);RCC_ClkInitStruct.ClockType RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;RCC_ClkInitStruct.SYSCLKSource RCC_SYSCLKSOURCE_PLLCLK;RCC_ClkInitStruct.AHBCLKDivider RCC_SYSCLK_DIV1;RCC_ClkInitStruct.APB1CLKDivider RCC_HCLK_DIV4;RCC_ClkInitStruct.APB2CLKDivider RCC_HCLK_DIV2;HAL_RCC_ClockConfig(RCC_ClkInitStruct, FLASH_LATENCY_5); }//我的板子上有个LED连接在PA4 static void LED_Blink(void) {GPIO_InitTypeDef GPIO_InitStruct {0};__HAL_RCC_GPIOA_CLK_ENABLE();GPIO_InitStruct.Pin GPIO_PIN_4;GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull GPIO_PULLUP;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_VERY_HIGH;GPIO_InitStruct.Alternate 0;HAL_GPIO_Init(GPIOA, GPIO_InitStruct);while(1){HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);HAL_Delay(500);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);HAL_Delay(500);} }int main(void) {HAL_Init();SystemClock_Config();LED_Blink(); }这段代码初始化LED引脚然后500ms改变1次LED状态。 这里面用到HAL_Delay函数是由Systick中断驱动的延时函数也考验中断能不能正常运行。 文件准备好了还要把文件加入到编译工程里 修改/home/openharmony/device/board/demo/demo_board/liteos_m/bsp/BUILD.gn 把源码路径添加到sources变量里面。 # /home/openharmony/device/board/demo/demo_board/liteos_m/bsp/BUILD.gn # kerndev.blog.csdn.netimport(//kernel/liteos_m/liteos.gni)module_name get_path_info(rebase_path(.), name) kernel_module(module_name) {sources [src/startup_stm32f407xx.s,src/system_stm32f4xx.c,src/main.c,] }config(public) {defines [STM32F407xx,STM32F40_41xxx,]include_dirs [include,//device/soc/st/stm32f4xx/sdk/Core/Inc,//device/soc/st/stm32f4xx/sdk/Drivers/STM32F4xx_HAL_Driver/Inc,//device/soc/st/stm32f4xx/sdk/Drivers/CMSIS/Device/ST/STM32F4xx/Include,]ldflags [-Wl,-T rebase_path(ld/STM32F407IG_FLASH.ld),-Wl,-u_printf_float,]libs [c,m,nosys,] } 然后开始编译编译通过把OHOS_Image.bin下载到板子里看看LED灯亮不亮。 运气好的话LED正常闪烁。 下载程序后如果LED没有闪烁需要排查以下问题 1.程序链接地址错误。 在STM32F407IG_FLASH.ld文件里定义了FLASH和RAM地址没有bootloader的情况下FLASH起始地址应该是0x080000000。 ...... /* Specify the memory areas */ MEMORY { RAM (xrw) : ORIGIN 0x20000000, LENGTH 128K CCMRAM (xrw) : ORIGIN 0x10000000, LENGTH 64K FLASH (rx) : ORIGIN 0x8000000, LENGTH 512K } ...... 2.中断向量表没有链接到BIN起始位置。 在STM32F407IG_FLASH.ld文件里定义了中断向量表的区块.isr_vector需要检查startup.s里面的向量表定义是否定义在.isr_vector代码段。 ...... /* Define output sections */ SECTIONS {/* The startup code goes first into FLASH */.isr_vector :{. ALIGN(4);KEEP(*(.isr_vector)) /* Startup code */. ALIGN(4);} FLASH...... 3.中断向量表重映射地址错误。 在system_stm32f4xx.c文件里SystemInit函数会修改中断向量表位置取决于USER_VECT_TAB_ADDRESS宏定义。 void SystemInit(void) {/* FPU settings ------------------------------------------------------------ */ #if (__FPU_PRESENT 1) (__FPU_USED 1)SCB-CPACR | ((3UL 10*2)|(3UL 11*2)); /* set CP10 and CP11 Full Access */ #endif#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)SystemInit_ExtMemCtl(); #endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM *//* Configure the Vector Table location -------------------------------------*/ #if defined(USER_VECT_TAB_ADDRESS)SCB-VTOR VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #endif /* USER_VECT_TAB_ADDRESS */ } 4.中断函数SysTick_Handler配置错误。 在startup_stm32f407xx.s文件里找看中断向量表的定义其中SysTick_Handler位置写的是哪个函数为了HAL库正常使用可以将其修改为HAL_IncTick .section .isr_vector,a,%progbits.type g_pfnVectors, %object.size g_pfnVectors, .-g_pfnVectorsg_pfnVectors:.word _estack.word Reset_Handler.word HalExcNMI.word HalExcHardFault.word HalExcMemFault.word HalExcBusFault.word HalExcUsageFault.word 0.word 0.word 0.word 0.word SVC_Handler.word DebugMon_Handler.word 0.word HalPendSV.word HAL_IncTick //之前是OsTickHandler 5.闪烁频率不正常 检查System_Config()函数的时钟配置根据板子上的晶振频率修改PLL设置。 检查system_stm32f4xx.c里面SystemCoreClock的值是否和运行频率一致。
http://www.zqtcl.cn/news/1994/

相关文章:

  • 甘肃省建设厅备案在哪个网站wordpress 图片处理
  • 做有奖竞猜网站违法吗wordpress 自定义表单插件
  • 网站如何做问卷调查佛山专业做网站的公司
  • 网站数据库访问室内设计培训班多少钱
  • 四川省和城乡建设厅网站首页宝安区
  • 建立一个网站的英文网站如何建设与安全
  • 怎么在别人网站上做锚文本链接网站平台建设总结
  • 网站后台的数据库怎么做深圳网站制作平台
  • dw网站结构图怎么做企业建设网站有哪些费用
  • 学院网站建设的目的及定位北京高端网站建设图片大全
  • 海口网站建设q479185700棒营销图片大全
  • 企业网站管理系统 开源东莞公司网站建设小知识
  • 建设黑彩网站需要什么邮件格式模板
  • 帮别人做网站怎么赚钱php婚庆网站
  • 深圳市建设注册执业资格中心网站一流的网站建设案例
  • 网站租用价格商城网站建设都有哪些类型
  • 东莞网站建设流程图wordpress to go
  • 做网站需要注意的问题分销商城系统
  • 深圳 网站优化公司排名网络营销的专业网站
  • python做简单网站c 写网站建设框架
  • 网站制作学什么网站开发为什么需要域名
  • 济南做网站推广有哪些公司网络运营的岗位职责及任职要求
  • 国内知名网站制作公司手机asp网站
  • 360建网站好不好?哪个购物平台质量好价格合适
  • 小说下载网站哪个好网站推广方案书
  • 网站负责人 备案什么公司网站建设做的好
  • 东莞网站关键词优化怎么做平面设计软件图标图片
  • 普通网站与营销型网站有什么区别大连网站建设
  • 网站快照怎么更新关于做公司网站
  • 网站面包屑导航代码网站注册器