stm32 usb_istr.c 文件分析

发布者:梦回归处最新更新时间:2017-11-05 来源: eefocus关键字:stm32  usb_istr.c  文件分析 手机看文章 扫描二维码
随时随地手机看文章

最近做一个项目,在stm32内部一部分用来存储自己的代码,开辟出一段空间来用来存储FPGA代码。每次开机实现stm32往FPGA写入代码的功能。


向stm32某段空间写入代码的方法:

(1)ST_LINK Utility软件

 通过JTAG,连接后。载入FPGA的bin文件,改写Start address就可以将代码写入固定的区域。

STM32代码存储位置与MCUISP下载注意事项

当然可以用ST-LINK写入任意代码。

(2)用STMFlashDemo软件。

这个官方的串口下载软件,通过系统存储器进行下载。在之前的日志中提到过,不详说。

利用MCUISP下载的时候,会擦出整个芯片。

所以如果将一部分内容存到FLASH中比如(0x0807000~0x0807100),再用MCUISP下载,它会将整片擦除,从0x08000000开始下载新的代码。所以我们的操作流程可以是先用MCUISP下载STM32本身的代码,再通过上面提到的两种方法将一些内容存到未用的空间。


关键字:stm32  usb_istr.c  文件分析 引用地址:stm32 usb_istr.c 文件分析

上一篇:STM32代码存储位置与MCUISP下载注意事项
下一篇:stm32 串口下载错误解决方法

推荐阅读最新更新时间:2024-03-16 15:43

【嵌入式】STM32的库函数使用
使用编译环境为MDK5,烧录器将会使用JTAG和串口两种,芯片为STM32F103C8T6 零、前准备 1.MDK5编译环境 2.JTAG驱动或串口驱动 一、建立工程模板,写一个简单的小程序 1).创建工程目录 这里就会使用MDK创建工程了,由于STM32的工程已经比较大了,所以在工程目录下将会再创建多个目录,以便整理。 (说明一下,其实随便放都可以,只要工程都能包含以下说到的文件即可) 这里工程名就叫template吧(.代表工程目录): .CORE 存放芯片内核驱动文件; .FWLIB 使用库函数的话存放库函数; .OBJ 存放编译生成文件; .SYSTEM 存放系统代码; .USER 存放工程文件,应用程序等。 新建好
[单片机]
【嵌入式】<font color='red'>STM32</font>的库函数使用
STM32开发笔记73: C++中子类调用父类同名函数的处理方法
单片机型号:STM32L053R8T6 1、问题 父类有1方法:Enable_RS485,如下所示: class CUart { public: uint8_t u8_UartNumber; //端口号1-8 uint32_t u32_BaudRate; //波特率 uint8_t u8_Parity; //效验位 CC0 C0; //485控制引脚C0 CC1 C1; //485控制引脚C1 UART_HandleTypeDef hUART; uint8_t u8_UartReceiveBuffer ; public: CUart(uint8_t u8_UartNumber, uint3
[单片机]
STM32单片机对CAN过滤器的设置方法
在使用STM32的CAN控制器进行数据收发,当用到位屏蔽模式的时候,就要设置过滤器了,这个关系到是否能够接收到想要的数据。下面针对几种不同情况对CAN过滤器(Filter)进行设置。 CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;//标示符屏蔽模式 CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; 1、对扩展数据帧进行过滤:(只接收扩展数据帧) CAN_FilterInitStructure.CAN_FilterIdHigh=(EXT_ID》》13)&0xFFFF; CAN_F
[单片机]
<font color='red'>STM32</font>单片机对CAN过滤器的设置方法
stm32f10x.h文件分析理解
 今天再看过半年前自己写的这篇发现自己当时理解有误,stm32f10x.h与库开发并未存在太大关系,只是一个最为重要的寄存器地址到寄存器结构体变量的映射。   stm32f10x.h 这个头文件是STM32开发最为重要的一个头文件相当于我玩51那会,那个 reg52.h 。但对于STM32来说,它的寄存器数量是非常多的,如果按照操作51一样的方法来操作32的话,查数据手册来配置寄存器是非常麻烦的。所以ST开发了这个库,方便大家开发,缩短开发周期。在 stm32f10x.h 中前面一开始就出现了: #ifndef __STM32F10x_H #define __STM32F10x_H #ifdef __cplusplus exte
[单片机]
stm32f10x.h<font color='red'>文件</font><font color='red'>分析</font>理解
STM32 FreeModbus RTU从机移植以及UART配置
FreeModbus的具体介绍就不提了。至于为什么要移植,大概就是因为移植比较快,而且比较稳定,可以减少因为自己编写出现的漏洞。 但是FreeModbus 1.5版本是没有主机的,因此移植的时候只可以做从机。网上有几个关于Modbus主机的源代码,回头等我弄好了再更新。 ================================== 理论上来说,此处我移植了全部,但是只调试了RTU部分,因此其他部分不做赘述。 移植过程: 1.将modbus目录下所有文件拷贝加入工程。 2.对modbus中的include下的mbconfig.h进行编辑,裁剪其中需要的模块。(此处我没有进行裁剪,因此选项都是默认) 3.将
[单片机]
<font color='red'>STM32</font> FreeModbus RTU从机移植以及UART配置
字符转整型STM32史上最短 字符转整形 简简单单
一直奇怪为什么stm32处理数据那么麻烦,要指针数组判断等等跳来跳去的。 直到今天,我发现了 #include “string.h” #include “stdlib.h” !!! 那我就可以两句话搞定我的数据了!!! 而不是像之前那样子那么麻烦了:STM32字符转整型处理 ’ stm32c语言字符转正型,并且进行数据分割 #include string.h #include stdlib.h u8 DATA = X12Y34Y56Y78 ; int shuju_chuli(const char *shuju,char zifu ) { char *shu_ju_1=strchr(shuju,zifu)+1; /
[单片机]
字符转整型<font color='red'>STM32</font>史上最短 字符转整形 简简单单
stm32 基于TIM1定时器的PWM输出
void PWM_TIM1(uint16_t arr,uint16_t psc) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //定时器TIM1时钟使能 TIM_DeInit(TIM1); //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Period =arr; //设置用来作为TIMx时钟频率出书的预分频值 TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置时钟分割 TIM_TimeBaseStru
[单片机]
STM32的ADC的采样周期确定
  采样频率的确定   1.首先确定ADC 的时钟,这里需要看你的RCC的设置。在采用固件库的基础上,设定ADC的采样频率相对来说是很容易的。   (1)由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。   (2) 一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同   RCC_HCLKConfig(RCC_SYSCLK_Div1);   RCC_PCLK2Config(RCC_HCLK_Div1);   RCC_PCLK1Config(RCC_HCLK_Div2);   (3)采样时间和转换时间   ADC 使用若干个ADC_CLK 周
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved