用户工具

站点工具


icore4t_51

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4t_51 [2020/03/25 14:20]
zgf
icore4t_51 [2022/04/01 10:56]
sean
行 3: 行 3:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-03-25 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-03-25 ​ |  gingko ​ |  初次建立 ​ | 
行 189: 行 188:
 { {
     int flash_id;     int flash_id;
-  ​CPU_CACHE_Enable(); ​   +    ​CPU_CACHE_Enable(); ​   
-  HAL_Init();​ +    HAL_Init();​ 
-  SystemClock_Config();​+    SystemClock_Config();​
     i2c.initialize();​     i2c.initialize();​
     axp152.initialize();​     axp152.initialize();​
行 216: 行 215:
     }        }   
   while (1)   while (1)
-  ​{+    ​{
     MX_USB_HOST_Process();​     MX_USB_HOST_Process();​
-  ​}+    ​}
     start:     start:
     /* Initialize w25q64 */     /* Initialize w25q64 */
行 230: 行 229:
     }     }
     QSPI_EnableMemoryMappedMode(&​hqspi);​     QSPI_EnableMemoryMappedMode(&​hqspi);​
-  ​CPU_CACHE_Disable();​ +    ​CPU_CACHE_Disable();​ 
-  SysTick->​CTRL = 0; +    SysTick->​CTRL = 0; 
-  JumpToApplication = (pFunction) (*(__IO uint32_t*) (APPLICATION_ADDRESS + 4)); +    JumpToApplication = (pFunction) (*(__IO uint32_t*) (APPLICATION_ADDRESS + 4)); 
-  __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);​ +    __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);​ 
-  JumpToApplication(); ​     ​+    JumpToApplication(); ​     ​
 } }
  
 </​code>​ </​code>​
 === 2.QSPI FLASH退出QPI模式 === === 2.QSPI FLASH退出QPI模式 ===
 +<code c>
 void W25QXX_ExitQPIMode(void) void W25QXX_ExitQPIMode(void)
 {    {   
行 267: 行 267:
     w25qxx_mode = W25QXX_MODE_SPI;​     w25qxx_mode = W25QXX_MODE_SPI;​
 } }
 +</​code>​
 === 3.QSPI FLASH进入QPI模式 === === 3.QSPI FLASH进入QPI模式 ===
 <code c> <code c>
行 386: 行 386:
     FIL fil;     FIL fil;
     FATFS fatfs;     FATFS fatfs;
-  ​static FRESULT res;+    ​static FRESULT res;
     unsigned char buffer[4096];​     unsigned char buffer[4096];​
     unsigned long int ncounter = 0;     unsigned long int ncounter = 0;
行 394: 行 394:
   switch(id)   switch(id)
   {   {
-  ​case HOST_USER_SELECT_CONFIGURATION:​ +    ​case HOST_USER_SELECT_CONFIGURATION:​ 
-  break;+    break;
  
-  ​case HOST_USER_DISCONNECTION:​ +    ​case HOST_USER_DISCONNECTION:​ 
-  Appli_state = APPLICATION_DISCONNECT;​ +    Appli_state = APPLICATION_DISCONNECT;​ 
-  break;+    break;
  
-  ​case HOST_USER_CLASS_ACTIVE:​ +    ​case HOST_USER_CLASS_ACTIVE:​ 
-  Appli_state = APPLICATION_READY;​+    Appli_state = APPLICATION_READY;​
     LED_OFF;     LED_OFF;
     res = f_mount(&​fatfs,"​0:",​1);​     res = f_mount(&​fatfs,"​0:",​1);​
行 513: 行 513:
 </​code>​ </​code>​
 <code c> <code c>
- +FRESULT f_closedir (      //  关闭目录 
 + DIR *dp             /* 指向要关闭的目录对象的指针 */ 
 +
 </​code>​ </​code>​
 <code c> <code c>
- +FRESULT f_readdir (        //​顺序读取目录条目 
 + DIR* dp,​  ​      /* 指向打开目录对象的指针 */ 
 + FILINFO* fno        /* 指向要返回的文件信息的指针 */ 
 +
 </​code>​ </​code>​
 <code c> <code c>
- +FRESULT f_stat (           //​获取文件状态 
 + const TCHAR* path,​  ​ /* 指向文件路径的指针 */ 
 + FILINFO* fno        /* 指向要返回的文件信息的指针 */ 
 +
 </​code>​ </​code>​
 <code c> <code c>
- +FRESULT f_getfree (        //​获取空闲簇数 
 + const TCHAR* path,​  ​ /* 逻辑驱动器号的路径名 */ 
 + DWORD* nclst,​  ​      /* 指向变量的指针以返回空闲簇的数量*/​ 
 + FATFS** fatfs  ​      /* 返回指向相应文件系统对象的指针的指针 */ 
 +
 </​code>​ </​code>​
-  +<code c> 
-  +FRESULT f_truncate (         //​截断文件 
-  + FIL* fp             /* 指向文件对象的指针 */ 
-  +) 
-  + 
-  +</​code>​ 
-  +<code c> 
-  +FRESULT f_unlink (           //​删除一个文件或目录 
-  + const TCHAR* path /* 指向文件或目录路径的指针 */ 
-  +
-  + 
-  +</​code>​ 
-  +<code c> 
 +FRESULT f_mkdir (            //​创建一个目录 
 + const TCHAR* path /* 指向目录路径的指针 */ 
 +
 + 
 +</​code>​ 
 +<code c> 
 +FRESULT f_rename (           //​重命名文件/​目录 
 + const TCHAR* path_old, /* 指向要重命名的对象名称的指针 */ 
 + const TCHAR* path_new /* 指向新名称的指针 */ 
 +) 
 + 
 +</​code>​ 
 +
 ==== 五、 APP实验程序 ==== ==== 五、 APP实验程序 ====
  
 === 主函数 === === 主函数 ===
 +<code c>
 +int main(void)
 +{
 +  HAL_Init();
 +  SystemClock_Config();​
 +    //​配置中断向量偏移
 +    SCB->​VTOR = FLASH_ADDRESS;​ /* Vector Table Relocation in Extren FLASH */
 +    i2c.initialize();​
 +    axp152.initialize();​
 +    axp152.set_dcdc1(3500);//​[ARM & FPGA BK1/2/6 &OTHER]
 +    axp152.set_dcdc2(1200);//​[FPGA INT & PLL D]
 +    axp152.set_aldo1(2500);//​[FPGA PLL A]
 +    axp152.set_dcdc4(3300);//​[POWER_OUTPUT]
 +    axp152.set_dcdc3(3300);//​[FPGA BK4][Adjustable]
 +    axp152.set_aldo2(3300);//​[FPGA BK3][Adjustable]
 +    axp152.set_dldo1(3300);//​[FPGA BK7][Adjustable]
 +    axp152.set_dldo2(3300);//​[FPGA BK5][Adjustable]
 +    ​
 +    MX_GPIO_Init();​
 +    while (1)
 +  {
 +        //LED闪烁
 +        LED_ON;
 +        HAL_Delay(300);​
 +        LED_OFF;
 +        HAL_Delay(300);​
 +  }
 +}
  
- +</​code>​
 ==== 六、 实验步骤 ==== ==== 六、 实验步骤 ====
  
icore4t_51.txt · 最后更改: 2022/04/01 10:56 由 sean