用户工具

站点工具


icore4t_37

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4t_37 [2020/03/23 17:33]
zgf
icore4t_37 [2022/04/01 10:52] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-03-23 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-03-23 ​ |  gingko ​ |  初次建立 ​ | 
行 20: 行 19:
 2.出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置 2.出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置
 在搜索栏的下面,提供的各 ​ 种查找方式,可以选择芯片内核,型号,等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32H750IBKx。 在搜索栏的下面,提供的各 ​ 种查找方式,可以选择芯片内核,型号,等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32H750IBKx。
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_2.png?direct |}}
 3.配置RCC,使用外部时钟源 3.配置RCC,使用外部时钟源
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_3.png?direct |}}
 4.时基源选择SysTick 4.时基源选择SysTick
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_4.png?direct |}}
 5.将PA10,​PB7,​PB8设置为GPIO_Output 5.将PA10,​PB7,​PB8设置为GPIO_Output
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_5.png?direct |}}
 6.引脚模式配置 6.引脚模式配置
-{{ :icore4t:icore4t_cube_37_1.png?direct |}} +{{ :icore4t:icore4t_cube_37_6.png?direct |}} 
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_7.png?direct |}}
 7.配置USB_OTG_FS 7.配置USB_OTG_FS
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_8.png?direct |}}
 8.配置USB_DEVICE 8.配置USB_DEVICE
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_9.png?direct |}}
 9.配置QUADAPI 9.配置QUADAPI
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_10.png?direct |}}
 引脚配置 引脚配置
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_11.png?direct |}}
 10.时钟源设置,选择外部高速时钟源,配置为最大主频 10.时钟源设置,选择外部高速时钟源,配置为最大主频
-{{ :icore4t:icore4t_cube_37_1.png?direct |}} +{{ :icore4t:icore4t_cube_37_12.png?direct |}} 
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_13.png?direct |}}
 11.工程文件的设置,​ 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 ​ IDE我们使用的是 MDK V5.27 11.工程文件的设置,​ 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 ​ IDE我们使用的是 MDK V5.27
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_14.png?direct |}}
 12.点击Code Generator,进行进一步配置 12.点击Code Generator,进行进一步配置
-{{ :icore4t:icore4t_cube_37_1.png?direct |}}+{{ :icore4t:icore4t_cube_37_15.png?direct |}}
   * **Copy all used libraries into the project folder**   * **Copy all used libraries into the project folder**
   * 将HAL库的所有.C和.H都复制到所建工程中   * 将HAL库的所有.C和.H都复制到所建工程中
行 59: 行 58:
   * 自行选择方式即可   * 自行选择方式即可
 13.然后点击GENERATE CODE  创建工程 13.然后点击GENERATE CODE  创建工程
-{{ :icore4t:icore4t_cube_37_1.png?direct |}} +{{ :icore4t:icore4t_cube_37_16.png?direct |}} 
 创建成功,打开工程。 创建成功,打开工程。
 \\ \\
行 72: 行 71:
   - 掌握KEIL MDK 集成开发环境使用方法。   - 掌握KEIL MDK 集成开发环境使用方法。
 ==== 二、 实验设备及平台 ==== ==== 二、 实验设备及平台 ====
-  - iCore4T 双核心板。+  - iCore4T 双核心板。[[https://​item.taobao.com/​item.htm?​spm=a1z10.1-c.w137644-251734891.3.5923532fDrMDOe&​id=610595120319|点击购买]]
   - iCore4T 扩展底板。   - iCore4T 扩展底板。
-  - JLINK(或相同功能)仿真器。+  - JLINK(或相同功能)仿真器。[[https://​item.taobao.com/​item.htm?​id=554869837940|点击购买]]
   - Micro USB线缆。   - Micro USB线缆。
   - Keil MDK 开发平台。   - Keil MDK 开发平台。
行 82: 行 81:
 === 1.SPI FLASH简介 === === 1.SPI FLASH简介 ===
   * 串行接口设备spi flash就是通过串行的接口进行操作的flash存储设备。flash按照内部存储结构不同,分为两种:nor flash和nand flash。这里spi flash 属于 nor flash。SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下人们说的SPI Flash指的是SPI Nor Flash。早期Norflash的接口是parallel的形式,即把数据线和地址线并排与IC的管脚连接。但是后来发现不同容量的Nor flash不能硬件上兼容(数据线和地址线的数量不一样),并且封装比较大,占用了较大的PCB板位置,所以后来逐渐被SPI(串行接口)Nor flash所取代。同时不同容量的SPI Nor flash管脚也兼容封装也更小。,至于现在很多人说起NOR flash直接都以SPI flash来代称。   * 串行接口设备spi flash就是通过串行的接口进行操作的flash存储设备。flash按照内部存储结构不同,分为两种:nor flash和nand flash。这里spi flash 属于 nor flash。SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下人们说的SPI Flash指的是SPI Nor Flash。早期Norflash的接口是parallel的形式,即把数据线和地址线并排与IC的管脚连接。但是后来发现不同容量的Nor flash不能硬件上兼容(数据线和地址线的数量不一样),并且封装比较大,占用了较大的PCB板位置,所以后来逐渐被SPI(串行接口)Nor flash所取代。同时不同容量的SPI Nor flash管脚也兼容封装也更小。,至于现在很多人说起NOR flash直接都以SPI flash来代称。
-  * Nor Flash根据数据传输的位数可以分为并行(Parallel,即地址线和数据线直接和处理器相连)Nor Flash和串行(SPI,即通过SPI接口和处理器相连)Nor Flash;区别主要就是:1、SPI Nor Flash每次传输一bit位的数据,parallel连接的Nor Flash每次传输多个bit位的数据(有x8和x16bit两种);2、SPI Nor Flash比parallel便宜,接口简单点,但速度慢。 +  * Nor Flash根据数据传输的位数可以分为并行(Parallel,即地址线和数据线直接和处理器相连)Nor Flash和串行(SPI,即通过SPI接口和处理器相连)Nor Flash;区别主要就是: 
-  * Nand Flash是地址数据线复用的方式,接口标准统一(x8bit和x16bit),所以不同容量兼容性上基本没什么问题。但是目前对产品的需求越来越小型化以及成本要求也越来越高,所以SPI Nand Flash渐渐成为主流,并且采用SPI NAND Flash方案,主控也可以不需要传统NAND控制器,只需要有SPI接口接口操作访问,从而降低成本。另外SPI Nand Flash封装比传统的封装也小很多,故节省了PCB板的空间。+    * 1、SPI Nor Flash每次传输一bit位的数据,parallel连接的Nor Flash每次传输多个bit位的数据(有x8和x16bit两种); 
 +    * 2、SPI Nor Flash比parallel便宜,接口简单点,但速度慢。 
 +  * Nand Flash是地址数据线复用的方式,接口标准统一(x8bit和x16bit),所以不同容量兼容性上基本没什么问题。但是目前对产品的需求越来越小型化以及成本要求也越来越高,所以SPI Nand Flash渐渐成为主流,并且采用SPI NAND Flash方案,主控也可以不需要传统NAND控制器,只需要有SPI接口接口操作访问,从而降低成本。另外SPI Nand Flash封装比传统的封装也小很多,故节省了PCB板的空间。
 === 2.QSPI协议简介 === === 2.QSPI协议简介 ===
   * QSPI是Queued SPI的简写,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,推出了队列串行外围接口协议(即QSPI协议)。QSPI是一种专用的通信接口,连接单、双或四(条数据线)SPIF lash存储介质。   * QSPI是Queued SPI的简写,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,推出了队列串行外围接口协议(即QSPI协议)。QSPI是一种专用的通信接口,连接单、双或四(条数据线)SPIF lash存储介质。
行 91: 行 92:
     * 内存映射模式:外部Flash映射到微控制器地址空间,从而系统将其视作内部存储器采用双闪存模式时,将同时访问两个Quad-SPI Flash,吞吐量和容量均可提高二倍。     * 内存映射模式:外部Flash映射到微控制器地址空间,从而系统将其视作内部存储器采用双闪存模式时,将同时访问两个Quad-SPI Flash,吞吐量和容量均可提高二倍。
 === 3.QSPI功能框图 === === 3.QSPI功能框图 ===
-{{ :​icore4t:​icore4t_arm_hal_37_1.png?​direct |}}+{{ :​icore4t:​icore4t_arm_hal_37_1.png?​direct&​800 ​|}}
    
 === 4.QUADSPI 信号接口协议模式 === === 4.QUADSPI 信号接口协议模式 ===
行 129: 行 130:
   * MSC的通用性和操作简单使他成为移动设备上最常见的文件系统,USB MSC并不需要任何特定的文件系统,​ 相反,它提供了一个简单的界面来读写接口用于访问任何硬盘驱动器。操作系统可以把MSC像本地硬盘一样格式化,并可以与他们喜欢的任何文件系统格式它,当然也可以创建多个分区。   * MSC的通用性和操作简单使他成为移动设备上最常见的文件系统,USB MSC并不需要任何特定的文件系统,​ 相反,它提供了一个简单的界面来读写接口用于访问任何硬盘驱动器。操作系统可以把MSC像本地硬盘一样格式化,并可以与他们喜欢的任何文件系统格式它,当然也可以创建多个分区。
 == 6.原理图 == == 6.原理图 ==
-{{ :​icore4t:​icore4t_arm_hal_37_3.png?​direct |}} +{{ :​icore4t:​icore4t_arm_hal_37_3.png?​direct&​700 ​|}} 
-{{ :​icore4t:​icore4t_arm_hal_37_4.png?​direct |}}+{{ :​icore4t:​icore4t_arm_hal_37_4.png?​direct&​600 ​|}}
   * 本实验使用STM32H750的USB OTG FS利用SPI FLASH虚拟U盘,用USB线连接PC机与开发板,在电脑上就可以像操作普通U盘那样来操作开发板的FLASH存储设备。   * 本实验使用STM32H750的USB OTG FS利用SPI FLASH虚拟U盘,用USB线连接PC机与开发板,在电脑上就可以像操作普通U盘那样来操作开发板的FLASH存储设备。
 ==== 四、 实验程序 ==== ==== 四、 实验程序 ====
icore4t_37.1584955987.txt.gz · 最后更改: 2020/03/23 17:33 由 zgf