mirror of https://github.com/FOME-Tech/openblt.git
Refs #160. Updated FatFS library to the latest stable version (R0.12).
git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@219 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
parent
71e918f3c4
commit
bdb2f42bdd
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE CrossStudio_Project_File>
|
<!DOCTYPE CrossStudio_Project_File>
|
||||||
<solution Name="EFM32G880_crossworks" target="8" version="2">
|
<solution Name="EFM32G880_crossworks" target="8" version="2">
|
||||||
<project Name="openbtl_olimex_efm32g880">
|
<project Name="openbtl_olimex_efm32g880">
|
||||||
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(ProjectDir)/..;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../../../../Source;$(ProjectDir)/../../../../Source/ARMCM3_EFM32;$(ProjectDir)/../../../../Source/ARMCM3_EFM32/Crossworks" gcc_optimization_level="Optimize For Size" link_include_standard_libraries="No" link_include_startup_code="No" linker_additional_files="" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK;EFM32G880F128" c_user_include_directories="$(ProjectDir)/..;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../../../../Source;$(ProjectDir)/../../../../Source/ARMCM3_EFM32;$(ProjectDir)/../../../../Source/ARMCM3_EFM32/Crossworks" gcc_optimization_level="Optimize For Size" link_include_standard_libraries="No" link_include_startup_code="No" linker_additional_files="" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
||||||
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/EFM32/Release/Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
|
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/EFM32/Release/Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
|
||||||
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
|
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
|
||||||
<folder Name="Source Files">
|
<folder Name="Source Files">
|
||||||
|
|
|
@ -21,9 +21,8 @@
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo;Boot" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo;Boot" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Source" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo;Boot;Lib" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Source;ARMCM3_EFM32" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo;Boot;Lib;Cmsis" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Source;ARMCM3_EFM32;Crossworks" name="unnamed" />
|
|
||||||
</Project>
|
</Project>
|
||||||
<Register1>
|
<Register1>
|
||||||
<RegisterWindow openNodes="" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" name="openbtl_olimex_efm32g880" />
|
<RegisterWindow openNodes="" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" name="openbtl_olimex_efm32g880" />
|
||||||
|
@ -54,7 +53,8 @@
|
||||||
<Watches active="0" update="Never" />
|
<Watches active="0" update="Never" />
|
||||||
</Watch4>
|
</Watch4>
|
||||||
<Files>
|
<Files>
|
||||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" y="71" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" left="0" selected="1" name="unnamed" top="0" />
|
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\users\voorburg\desktop\target\demo\armcm3_efm32_olimex_em32g880f128stk_crossworks\boot\lib\cmsis\cm3\devicesupport\energymicro\efm32\efm32.h" y="499" path="C:\users\voorburg\desktop\target\demo\armcm3_efm32_olimex_em32g880f128stk_crossworks\boot\lib\cmsis\cm3\devicesupport\energymicro\efm32\efm32.h" left="18" selected="0" name="unnamed" top="485" />
|
||||||
|
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Users\voorburg\Desktop\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" y="0" path="C:\Users\voorburg\Desktop\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" left="18" selected="1" name="unnamed" top="0" />
|
||||||
</Files>
|
</Files>
|
||||||
<ARMCrossStudioWindow activeProject="openbtl_olimex_efm32g880" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks" fileDialogDefaultFilter="" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
|
<ARMCrossStudioWindow activeProject="openbtl_olimex_efm32g880" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
|
||||||
</session>
|
</session>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE CrossStudio_Project_File>
|
<!DOCTYPE CrossStudio_Project_File>
|
||||||
<solution Name="EFM32G880_crossworks" target="8" version="2">
|
<solution Name="EFM32G880_crossworks" target="8" version="2">
|
||||||
<project Name="demoprog_olimex_efm32g880">
|
<project Name="demoprog_olimex_efm32g880">
|
||||||
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(ProjectDir)/../src;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../lib/lcd" gcc_optimization_level="Level 1" link_include_startup_code="No" linker_additional_files="" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK;EFM32G880F128" c_user_include_directories="$(ProjectDir)/../src;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../lib/lcd" gcc_optimization_level="Level 1" link_include_startup_code="No" linker_additional_files="" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
||||||
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/EFM32/Release/Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
|
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/EFM32/Release/Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
|
||||||
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
|
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
|
||||||
<folder Name="Source Files">
|
<folder Name="Source Files">
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<Project>
|
<Project>
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880" name="unnamed" />
|
||||||
|
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Library Files" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Source Files" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Source Files" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Source Files;Demo" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Source Files;Demo" name="unnamed" />
|
||||||
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Source Files;Demo;Prog" name="unnamed" />
|
<ProjectSessionItem path="EFM32G880_crossworks;demoprog_olimex_efm32g880;Source Files;Demo;Prog" name="unnamed" />
|
||||||
|
@ -51,7 +52,7 @@
|
||||||
<Watches active="0" update="Never" />
|
<Watches active="0" update="Never" />
|
||||||
</Watch4>
|
</Watch4>
|
||||||
<Files>
|
<Files>
|
||||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" y="21" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" left="0" selected="1" name="unnamed" top="21" />
|
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Users\voorburg\Desktop\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" y="0" path="C:\Users\voorburg\Desktop\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" left="0" selected="1" name="unnamed" top="0" />
|
||||||
</Files>
|
</Files>
|
||||||
<ARMCrossStudioWindow activeProject="demoprog_olimex_efm32g880" autoConnectTarget="Olimex ARM-USB-TINY" debugSearchFileMap="" fileDialogInitialDirectory="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
|
<ARMCrossStudioWindow activeProject="demoprog_olimex_efm32g880" autoConnectTarget="Olimex ARM-USB-TINY" debugSearchFileMap="" fileDialogInitialDirectory="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
|
||||||
</session>
|
</session>
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -30,6 +30,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -226,7 +238,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -280,7 +292,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -307,7 +319,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -336,7 +347,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -402,7 +412,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -470,10 +480,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -506,12 +516,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -540,7 +549,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -548,7 +556,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -646,27 +653,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2010/4/26 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -7,38 +7,38 @@ start address 0x00000000
|
||||||
|
|
||||||
Program Header:
|
Program Header:
|
||||||
LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15
|
LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15
|
||||||
filesz 0x00006048 memsz 0x00006048 flags r-x
|
filesz 0x000060d4 memsz 0x000060d4 flags r-x
|
||||||
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x00006048 align 2**15
|
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x000060d4 align 2**15
|
||||||
filesz 0x00000008 memsz 0x000018a4 flags rw-
|
filesz 0x00000008 memsz 0x00001ea8 flags rw-
|
||||||
private flags = 5000200: [Version5 EABI] [soft-float ABI]
|
private flags = 5000200: [Version5 EABI] [soft-float ABI]
|
||||||
|
|
||||||
Sections:
|
Sections:
|
||||||
Idx Name Size VMA LMA File off Algn
|
Idx Name Size VMA LMA File off Algn
|
||||||
0 .text 00006048 00000000 00000000 00008000 2**2
|
0 .text 000060d4 00000000 00000000 00008000 2**2
|
||||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||||
1 .data 00000008 20000000 00006048 00010000 2**2
|
1 .data 00000008 20000000 000060d4 00010000 2**2
|
||||||
CONTENTS, ALLOC, LOAD, DATA
|
CONTENTS, ALLOC, LOAD, DATA
|
||||||
2 .bss 0000189c 20000008 00006050 00010008 2**2
|
2 .bss 00001ea0 20000008 000060dc 00010008 2**2
|
||||||
ALLOC
|
ALLOC
|
||||||
3 .debug_info 0000fa0a 00000000 00000000 00010008 2**0
|
3 .debug_info 00010b82 00000000 00000000 00010008 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
4 .debug_abbrev 00002fe2 00000000 00000000 0001fa12 2**0
|
4 .debug_abbrev 00002ffd 00000000 00000000 00020b8a 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
5 .debug_loc 0000b6e5 00000000 00000000 000229f4 2**0
|
5 .debug_loc 0000c9a1 00000000 00000000 00023b87 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
6 .debug_aranges 00000e28 00000000 00000000 0002e0d9 2**0
|
6 .debug_aranges 00000e28 00000000 00000000 00030528 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
7 .debug_ranges 00000ec8 00000000 00000000 0002ef01 2**0
|
7 .debug_ranges 00000f80 00000000 00000000 00031350 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
8 .debug_line 00004f19 00000000 00000000 0002fdc9 2**0
|
8 .debug_line 00005092 00000000 00000000 000322d0 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
9 .debug_str 00002e02 00000000 00000000 00034ce2 2**0
|
9 .debug_str 00002e43 00000000 00000000 00037362 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
10 .comment 00000030 00000000 00000000 00037ae4 2**0
|
10 .comment 00000030 00000000 00000000 0003a1a5 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
11 .ARM.attributes 00000033 00000000 00000000 00037b14 2**0
|
11 .ARM.attributes 00000033 00000000 00000000 0003a1d5 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
12 .debug_frame 00002b38 00000000 00000000 00037b48 2**2
|
12 .debug_frame 00002b80 00000000 00000000 0003a208 2**2
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
SYMBOL TABLE:
|
SYMBOL TABLE:
|
||||||
00000000 l d .text 00000000 .text
|
00000000 l d .text 00000000 .text
|
||||||
|
@ -56,8 +56,8 @@ SYMBOL TABLE:
|
||||||
00000000 l d .debug_frame 00000000 .debug_frame
|
00000000 l d .debug_frame 00000000 .debug_frame
|
||||||
00000000 l df *ABS* 00000000 vectors.c
|
00000000 l df *ABS* 00000000 vectors.c
|
||||||
00000000 l df *ABS* 00000000 hooks.c
|
00000000 l df *ABS* 00000000 hooks.c
|
||||||
000055e4 l O .text 0000001b firmwareFilename
|
00005780 l O .text 0000001b firmwareFilename
|
||||||
20000008 l O .bss 00000228 logfile
|
20000008 l O .bss 0000022c logfile
|
||||||
00000000 l df *ABS* 00000000 main.c
|
00000000 l df *ABS* 00000000 main.c
|
||||||
00000000 l df *ABS* 00000000 ethernet.c
|
00000000 l df *ABS* 00000000 ethernet.c
|
||||||
00000220 l F .text 00000084 EthernetPacketGetInternal
|
00000220 l F .text 00000084 EthernetPacketGetInternal
|
||||||
|
@ -65,9 +65,9 @@ SYMBOL TABLE:
|
||||||
00000000 l df *ABS* 00000000 flashlib.c
|
00000000 l df *ABS* 00000000 flashlib.c
|
||||||
00000000 l df *ABS* 00000000 sysctl.c
|
00000000 l df *ABS* 00000000 sysctl.c
|
||||||
00000748 l F .text 00000154 SysCtlPeripheralValid
|
00000748 l F .text 00000154 SysCtlPeripheralValid
|
||||||
00005644 l O .text 0000006c g_pulXtals
|
000057e0 l O .text 0000006c g_pulXtals
|
||||||
000056cc l O .text 0000000c g_pulRCGCRegs
|
00005868 l O .text 0000000c g_pulRCGCRegs
|
||||||
000056d8 l O .text 0000000c g_pulSRCRRegs
|
00005874 l O .text 0000000c g_pulSRCRRegs
|
||||||
00000000 l df *ABS* 00000000 gpio.c
|
00000000 l df *ABS* 00000000 gpio.c
|
||||||
00000c94 l F .text 00000054 GPIOBaseValid
|
00000c94 l F .text 00000054 GPIOBaseValid
|
||||||
00000000 l df *ABS* 00000000 uartlib.c
|
00000000 l df *ABS* 00000000 uartlib.c
|
||||||
|
@ -82,272 +82,273 @@ SYMBOL TABLE:
|
||||||
00001340 l F .text 0000007e send_cmd
|
00001340 l F .text 0000007e send_cmd
|
||||||
000013be l F .text 0000003a xmit_datablock.part.1
|
000013be l F .text 0000003a xmit_datablock.part.1
|
||||||
000013f8 l F .text 00000058 rcvr_datablock
|
000013f8 l F .text 00000058 rcvr_datablock
|
||||||
20000230 l O .bss 00000004 CardType
|
20000234 l O .bss 00000004 CardType
|
||||||
20000000 l O .data 00000001 Stat
|
20000000 l O .data 00000001 Stat
|
||||||
00000000 l df *ABS* 00000000 netdev.c
|
00000000 l df *ABS* 00000000 netdev.c
|
||||||
00000000 l df *ABS* 00000000 boot.c
|
00000000 l df *ABS* 00000000 boot.c
|
||||||
00000000 l df *ABS* 00000000 com.c
|
00000000 l df *ABS* 00000000 com.c
|
||||||
20000234 l O .bss 00000040 xcpCtoReqPacket.4395
|
|
||||||
20000001 l O .data 00000001 comActiveInterface
|
20000001 l O .data 00000001 comActiveInterface
|
||||||
|
20000238 l O .bss 00000040 xcpCtoReqPacket.4405
|
||||||
00000000 l df *ABS* 00000000 xcp.c
|
00000000 l df *ABS* 00000000 xcp.c
|
||||||
00001c20 l F .text 00000014 XcpSetCtoError
|
00001c10 l F .text 00000014 XcpSetCtoError
|
||||||
0000572b l O .text 00000008 xcpStationId
|
000058c7 l O .text 00000008 xcpStationId
|
||||||
20000274 l O .bss 0000004c xcpInfo
|
20000278 l O .bss 0000004c xcpInfo
|
||||||
00000000 l df *ABS* 00000000 backdoor.c
|
00000000 l df *ABS* 00000000 backdoor.c
|
||||||
200002c0 l O .bss 00000001 backdoorOpen
|
200002c4 l O .bss 00000001 backdoorOpen
|
||||||
200002c4 l O .bss 00000004 backdoorOpenTime
|
200002c8 l O .bss 00000004 backdoorOpenTime
|
||||||
00000000 l df *ABS* 00000000 cop.c
|
00000000 l df *ABS* 00000000 cop.c
|
||||||
00000000 l df *ABS* 00000000 file.c
|
00000000 l df *ABS* 00000000 file.c
|
||||||
00001efc l F .text 0000002c FileLibByteNibbleToChar
|
00001eec l F .text 0000002c FileLibByteNibbleToChar
|
||||||
00001f28 l F .text 0000001e FileLibByteToHexString
|
00001f18 l F .text 0000001e FileLibByteToHexString
|
||||||
00001f48 l F .text 00000058 FileLibHexStringToByte
|
00001f38 l F .text 00000058 FileLibHexStringToByte
|
||||||
00001fa0 l F .text 00000038 FileLibLongToIntString.constprop.0
|
00001f90 l F .text 00000038 FileLibLongToIntString.constprop.0
|
||||||
200002c8 l O .bss 00000040 loggingStr
|
200002cc l O .bss 00000040 loggingStr
|
||||||
20000308 l O .bss 00000001 firmwareUpdateState
|
2000030c l O .bss 00000001 firmwareUpdateState
|
||||||
2000030c l O .bss 00000008 eraseInfo
|
20000310 l O .bss 00000008 eraseInfo
|
||||||
20000314 l O .bss 00000458 fatFsObjects
|
20000318 l O .bss 00000458 fatFsObjects
|
||||||
2000076c l O .bss 00000184 lineParseObject
|
20000770 l O .bss 00000184 lineParseObject
|
||||||
00000000 l df *ABS* 00000000 net.c
|
00000000 l df *ABS* 00000000 net.c
|
||||||
200008f0 l O .bss 00000004 ARPTimerTimeOut
|
200008f4 l O .bss 00000004 ARPTimerTimeOut
|
||||||
200008f4 l O .bss 00000004 periodicTimerTimeOut
|
200008f8 l O .bss 00000004 periodicTimerTimeOut
|
||||||
00000000 l df *ABS* 00000000 assert.c
|
00000000 l df *ABS* 00000000 assert.c
|
||||||
00000000 l df *ABS* 00000000 ff.c
|
00000000 l df *ABS* 00000000 ff.c
|
||||||
000026f0 l F .text 00000012 mem_cpy
|
000027a8 l F .text 00000016 ld_dword
|
||||||
00002702 l F .text 0000001e sum_sfn
|
000027be l F .text 00000018 clust2sect
|
||||||
00002720 l F .text 0000002a validate
|
000027d6 l F .text 0000001e sum_sfn
|
||||||
0000274a l F .text 000000ea get_fileinfo
|
000027f4 l F .text 00000032 get_ldnumber
|
||||||
00002834 l F .text 0000001c ld_clust.isra.0
|
00002826 l F .text 00000036 validate
|
||||||
00002850 l F .text 00000088 check_fs
|
0000285c l F .text 00000010 mem_cpy.part.0
|
||||||
000028d8 l F .text 0000030c chk_mounted
|
0000286c l F .text 0000001c ld_clust.isra.1
|
||||||
00002be4 l F .text 0000004a sync_window.part.2
|
00002888 l F .text 00000018 st_clust.isra.2
|
||||||
00002c2e l F .text 0000000c sync_window
|
000028a0 l F .text 00000046 sync_window.part.3
|
||||||
00002c3a l F .text 0000002e move_window
|
000028e6 l F .text 0000000c sync_window
|
||||||
00002c68 l F .text 000000b6 sync_fs
|
000028f2 l F .text 00000036 move_window
|
||||||
00002e02 l F .text 00000084 dir_sdi
|
00002928 l F .text 00000068 check_fs
|
||||||
00002f78 l F .text 0000009a create_chain
|
00002990 l F .text 00000284 find_volume
|
||||||
00003012 l F .text 000000f2 dir_next
|
00002c14 l F .text 000000b6 get_fat.isra.6
|
||||||
00003104 l F .text 0000012c dir_find.part.6
|
00002cca l F .text 00000092 dir_sdi
|
||||||
00003230 l F .text 0000026c follow_path
|
00002d5c l F .text 000000d6 get_fileinfo.part.8
|
||||||
0000349c l F .text 0000004e dir_remove
|
00002e32 l F .text 00000104 put_fat
|
||||||
000034ec l F .text 000000fc dir_read.constprop.8
|
00002f36 l F .text 000000b6 create_chain
|
||||||
000035e8 l F .text 00000054 remove_chain
|
00002fec l F .text 0000006a remove_chain
|
||||||
000036bc l F .text 000001b0 dir_register
|
00003056 l F .text 00000102 dir_next
|
||||||
200008f8 l O .bss 00000200 LfnBuf
|
00003158 l F .text 00000054 dir_remove
|
||||||
20000af8 l O .bss 00000002 Fsid
|
000031ac l F .text 00000160 dir_find
|
||||||
000058de l O .text 00000080 ExCvt
|
0000330c l F .text 00000260 follow_path
|
||||||
0000595e l O .text 0000000d LfnOfs
|
0000356c l F .text 00000114 dir_read.constprop.9
|
||||||
20000afc l O .bss 00000004 FatFs
|
00003680 l F .text 00000234 dir_register
|
||||||
|
000038b4 l F .text 000000b0 sync_fs
|
||||||
|
00003dd0 l F .text 00000044 putc_bfd
|
||||||
|
200008fc l O .bss 00000200 LfnBuf
|
||||||
|
20000afc l O .bss 00000002 Fsid
|
||||||
|
00005a7f l O .text 00000080 ExCvt
|
||||||
|
00005aff l O .text 0000000d LfnOfs
|
||||||
|
20000b00 l O .bss 00000004 FatFs
|
||||||
00000000 l df *ABS* 00000000 unicode.c
|
00000000 l df *ABS* 00000000 unicode.c
|
||||||
0000596c l O .text 000001e0 tbl_lower.4259
|
00005b0c l O .text 000000bc cvt2.4272
|
||||||
00005b4c l O .text 00000100 Tbl
|
00005bc8 l O .text 00000100 Tbl
|
||||||
00005c4c l O .text 000001e0 tbl_upper.4260
|
00005cc8 l O .text 000001f2 cvt1.4271
|
||||||
00000000 l df *ABS* 00000000 uip.c
|
00000000 l df *ABS* 00000000 uip.c
|
||||||
000040b4 l F .text 00000038 chksum
|
00004250 l F .text 00000038 chksum
|
||||||
000040ec l F .text 0000003c upper_layer_chksum
|
00004288 l F .text 0000003c upper_layer_chksum
|
||||||
0000417c l F .text 0000002c uip_add_rcv_nxt
|
00004318 l F .text 0000002c uip_add_rcv_nxt
|
||||||
20000b00 l O .bss 00000002 tmp16
|
20000b04 l O .bss 00000002 tmp16
|
||||||
20000b02 l O .bss 00000002 ipid
|
20000b06 l O .bss 00000002 ipid
|
||||||
20000b04 l O .bss 00000004 iss
|
20000b08 l O .bss 00000004 iss
|
||||||
20000b08 l O .bss 00000002 lastport
|
20000b0c l O .bss 00000002 lastport
|
||||||
20000b10 l O .bss 00000001 c
|
20000b14 l O .bss 00000001 c
|
||||||
20000b11 l O .bss 00000001 opt
|
20000b15 l O .bss 00000001 opt
|
||||||
00000000 l df *ABS* 00000000 uip_arp.c
|
00000000 l df *ABS* 00000000 uip_arp.c
|
||||||
00004bc4 l F .text 000000e4 uip_arp_update.constprop.0
|
00004d60 l F .text 000000e4 uip_arp_update.constprop.0
|
||||||
20000b12 l O .bss 00000001 i
|
20000b16 l O .bss 00000001 i
|
||||||
20000b13 l O .bss 00000001 tmpage
|
20000b17 l O .bss 00000001 tmpage
|
||||||
20000b14 l O .bss 00000060 arp_table
|
20000b18 l O .bss 00000060 arp_table
|
||||||
00005e2c l O .text 00000006 broadcast_ethaddr
|
00005eba l O .text 00000006 broadcast_ethaddr
|
||||||
20000b74 l O .bss 00000001 c
|
20000b78 l O .bss 00000001 c
|
||||||
20000b75 l O .bss 00000001 arptime
|
20000b79 l O .bss 00000001 arptime
|
||||||
20000b76 l O .bss 00000004 ipaddr
|
20000b7a l O .bss 00000004 ipaddr
|
||||||
00000000 l df *ABS* 00000000 cpu.c
|
00000000 l df *ABS* 00000000 cpu.c
|
||||||
00000000 l df *ABS* 00000000 uart.c
|
00000000 l df *ABS* 00000000 uart.c
|
||||||
20000b7c l O .bss 00000004 xcpCtoRxStartTime.4616
|
20000b80 l O .bss 00000004 xcpCtoRxStartTime.4626
|
||||||
20000b80 l O .bss 00000041 xcpCtoReqPacket.4613
|
20000b84 l O .bss 00000041 xcpCtoReqPacket.4623
|
||||||
20000bc1 l O .bss 00000001 xcpCtoRxInProgress.4615
|
20000bc5 l O .bss 00000001 xcpCtoRxLength.4624
|
||||||
20000bc2 l O .bss 00000001 xcpCtoRxLength.4614
|
20000bc6 l O .bss 00000001 xcpCtoRxInProgress.4625
|
||||||
00000000 l df *ABS* 00000000 nvm.c
|
00000000 l df *ABS* 00000000 nvm.c
|
||||||
00000000 l df *ABS* 00000000 timer.c
|
00000000 l df *ABS* 00000000 timer.c
|
||||||
20000bc4 l O .bss 00000004 millisecond_counter
|
20000bc8 l O .bss 00000004 millisecond_counter
|
||||||
00000000 l df *ABS* 00000000 flash.c
|
00000000 l df *ABS* 00000000 flash.c
|
||||||
000050f0 l F .text 00000034 FlashGetSector
|
0000528c l F .text 00000034 FlashGetSector
|
||||||
00005124 l F .text 0000004c FlashWriteBlock
|
000052c0 l F .text 0000004c FlashWriteBlock
|
||||||
00005170 l F .text 00000050 FlashSwitchBlock
|
0000530c l F .text 00000050 FlashSwitchBlock
|
||||||
000051c0 l F .text 00000080 FlashAddToBlock
|
0000535c l F .text 00000080 FlashAddToBlock
|
||||||
00005e58 l O .text 000000c0 flashLayout
|
00005ee4 l O .text 000000c0 flashLayout
|
||||||
20000bc8 l O .bss 00000204 bootBlockInfo
|
20000bcc l O .bss 00000204 bootBlockInfo
|
||||||
20000dcc l O .bss 00000204 blockInfo
|
20000dd0 l O .bss 00000204 blockInfo
|
||||||
00000000 l df *ABS* 00000000 cpu_comp.c
|
00000000 l df *ABS* 00000000 cpu_comp.c
|
||||||
00000000 l df *ABS* 00000000 cstart.c
|
00000000 l df *ABS* 00000000 cstart.c
|
||||||
00005470 l F .text 00000000 zero_loop
|
0000560c l F .text 00000000 zero_loop
|
||||||
00000000 l df *ABS* 00000000 memcpy-stub.c
|
00000000 l df *ABS* 00000000 memcpy-stub.c
|
||||||
00000000 l df *ABS* 00000000 memset.c
|
00000000 l df *ABS* 00000000 memset.c
|
||||||
00000000 l df *ABS* 00000000 ctype_.c
|
00000000 l df *ABS* 00000000 ctype_.c
|
||||||
00000000 l df *ABS* 00000000
|
00000000 l df *ABS* 00000000
|
||||||
00000200 l *ABS* 00000000 __STACKSIZE__
|
00000800 l *ABS* 00000000 __STACKSIZE__
|
||||||
00001b64 g F .text 00000020 ComInit
|
00001b54 g F .text 00000020 ComInit
|
||||||
00005258 g F .text 00000048 FlashWrite
|
000053f4 g F .text 00000048 FlashWrite
|
||||||
00003fb4 g F .text 0000004e f_gets
|
000040fc g F .text 0000004e f_gets
|
||||||
000026e8 g F .text 00000008 AssertFailure
|
000027a0 g F .text 00000008 AssertFailure
|
||||||
00002d36 g F .text 000000cc get_fat
|
|
||||||
00000ed0 g F .text 00000034 GPIOPinTypeSSI
|
00000ed0 g F .text 00000034 GPIOPinTypeSSI
|
||||||
0000544c g F .text 00000044 reset_handler
|
000055e8 g F .text 00000044 reset_handler
|
||||||
00001288 g F .text 00000028 SSIDataGet
|
00001288 g F .text 00000028 SSIDataGet
|
||||||
000050c4 g F .text 0000001c TimerUpdate
|
00005260 g F .text 0000001c TimerUpdate
|
||||||
00001c60 g F .text 00000010 XcpPacketTransmitted
|
00001c50 g F .text 00000010 XcpPacketTransmitted
|
||||||
00001b84 g F .text 0000003c ComTask
|
00001b74 g F .text 0000003c ComTask
|
||||||
00001200 g F .text 00000024 SSIEnable
|
00001200 g F .text 00000024 SSIEnable
|
||||||
00000990 g F .text 00000008 SysCtlDelay
|
00000990 g F .text 00000008 SysCtlDelay
|
||||||
20000fd0 g O .bss 00000002 uip_len
|
20000fd4 g O .bss 00000002 uip_len
|
||||||
20000b0a g O .bss 00000006 uip_ethaddr
|
20000b0e g O .bss 00000006 uip_ethaddr
|
||||||
00004128 g F .text 00000054 uip_add32
|
000042c4 g F .text 00000054 uip_add32
|
||||||
00001b28 g F .text 00000022 BootInit
|
00001b18 g F .text 00000022 BootInit
|
||||||
00002084 g F .text 0000003e FileSrecVerifyChecksum
|
00002078 g F .text 0000003e FileSrecVerifyChecksum
|
||||||
00001ed8 g F .text 00000020 BackDoorInit
|
00001ec8 g F .text 00000020 BackDoorInit
|
||||||
00001138 g F .text 000000c8 SSIConfigSetExpClk
|
00001138 g F .text 000000c8 SSIConfigSetExpClk
|
||||||
00001efa g F .text 00000002 CopService
|
00001eea g F .text 00000002 CopService
|
||||||
00006048 g .text 00000000 _etext
|
000060d4 g .text 00000000 _etext
|
||||||
0000089c g F .text 00000090 SysCtlPeripheralReset
|
0000089c g F .text 00000090 SysCtlPeripheralReset
|
||||||
00005444 g F .text 00000004 CpuIrqDisable
|
000055e0 g F .text 00000004 CpuIrqDisable
|
||||||
00004090 g F .text 00000024 ff_wtoupper
|
000041cc g F .text 00000084 ff_wtoupper
|
||||||
00000e44 g F .text 00000024 GPIOPinWrite
|
00000e44 g F .text 00000024 GPIOPinWrite
|
||||||
00001adc g F .text 00000034 netdev_read
|
00001acc g F .text 00000034 netdev_read
|
||||||
00004218 g F .text 00000980 uip_process
|
000043b4 g F .text 00000980 uip_process
|
||||||
00005430 g F .text 00000006 FlashGetUserProgBaseAddress
|
000055cc g F .text 00000006 FlashGetUserProgBaseAddress
|
||||||
0000549c g F .text 000000a6 memcpy
|
00005638 g F .text 000000a6 memcpy
|
||||||
00002200 g F .text 0000032c FileTask
|
000021f4 g F .text 000003f0 FileTask
|
||||||
0000108c g F .text 00000024 UARTSpaceAvail
|
0000108c g F .text 00000024 UARTSpaceAvail
|
||||||
000050b8 g F .text 0000000c TimerReset
|
00005254 g F .text 0000000c TimerReset
|
||||||
00001450 g F .text 00000228 disk_initialize
|
00001450 g F .text 00000228 disk_initialize
|
||||||
20000fd4 g O .bss 00000004 uip_sappdata
|
20000fd8 g O .bss 00000004 uip_sappdata
|
||||||
000019b8 g F .text 00000018 netdev_init
|
000019a8 g F .text 00000018 netdev_init
|
||||||
20000fd8 g O .bss 00000004 uip_acc32
|
20000fdc g O .bss 00000004 uip_acc32
|
||||||
000041a8 g F .text 00000020 uip_ipchksum
|
00004344 g F .text 00000020 uip_ipchksum
|
||||||
000010d8 g F .text 0000002c UARTCharPutNonBlocking
|
000010d8 g F .text 0000002c UARTCharPutNonBlocking
|
||||||
00001b4a g F .text 0000001a BootTask
|
00001b3a g F .text 0000001a BootTask
|
||||||
00005370 g F .text 00000044 FlashWriteChecksum
|
0000550c g F .text 00000044 FlashWriteChecksum
|
||||||
00001bc4 g F .text 00000030 ComTransmitPacket
|
00001bb4 g F .text 00000030 ComTransmitPacket
|
||||||
0000030c g F .text 0000002c EthernetInitExpClk
|
0000030c g F .text 0000002c EthernetInitExpClk
|
||||||
00001678 g F .text 00000014 disk_status
|
00001678 g F .text 00000014 disk_status
|
||||||
000020c4 g F .text 0000013c FileSrecParseLine
|
000020b8 g F .text 0000013c FileSrecParseLine
|
||||||
000041fc g F .text 0000001c uip_listen
|
00004398 g F .text 0000001c uip_listen
|
||||||
00001b10 g F .text 00000018 netdev_send
|
00001b00 g F .text 00000018 netdev_send
|
||||||
000017d0 g F .text 000001e0 disk_ioctl
|
000017c8 g F .text 000001e0 disk_ioctl
|
||||||
00002018 g F .text 00000028 FileHandleFirmwareUpdateRequest
|
0000200c g F .text 00000028 FileHandleFirmwareUpdateRequest
|
||||||
00000484 g F .text 0000005c EthernetPacketPut
|
00000484 g F .text 0000005c EthernetPacketPut
|
||||||
0000092c g F .text 00000064 SysCtlPeripheralEnable
|
0000092c g F .text 00000064 SysCtlPeripheralEnable
|
||||||
0000363c g F .text 0000007e gen_numname
|
20000fe0 g O .bss 00000001 uip_flags
|
||||||
20000fdc g O .bss 00000001 uip_flags
|
|
||||||
00000158 g F .text 00000040 FileFirmwareUpdateCompletedHook
|
00000158 g F .text 00000040 FileFirmwareUpdateCompletedHook
|
||||||
00001c50 g F .text 00000010 XcpIsConnected
|
00001c40 g F .text 00000010 XcpIsConnected
|
||||||
00003ef8 g F .text 000000bc f_unlink
|
00004050 g F .text 000000ac f_unlink
|
||||||
00005070 g F .text 00000004 NvmInit
|
0000520c g F .text 00000004 NvmInit
|
||||||
00005240 g F .text 00000018 FlashInit
|
000053dc g F .text 00000018 FlashInit
|
||||||
00005080 g F .text 00000004 NvmGetUserProgBaseAddress
|
0000521c g F .text 00000004 NvmGetUserProgBaseAddress
|
||||||
200016a2 g .bss 00000000 _ebss
|
200016a6 g .bss 00000000 _ebss
|
||||||
00004002 g F .text 00000032 f_putc
|
0000414a g F .text 00000044 f_puts
|
||||||
00004034 g F .text 0000001e f_puts
|
000055d4 g F .text 0000000c UnusedISR
|
||||||
00005438 g F .text 0000000c UnusedISR
|
|
||||||
00000430 g F .text 00000054 EthernetPacketGetNonBlocking
|
00000430 g F .text 00000054 EthernetPacketGetNonBlocking
|
||||||
00001bc0 g F .text 00000002 ComFree
|
00001bb0 g F .text 00000002 ComFree
|
||||||
00000e68 g F .text 00000034 GPIOPinTypeEthernetLED
|
00000e68 g F .text 00000034 GPIOPinTypeEthernetLED
|
||||||
00004f4c g F .text 00000028 UartInit
|
000050e8 g F .text 00000028 UartInit
|
||||||
00005078 g F .text 00000004 NvmErase
|
00005214 g F .text 00000004 NvmErase
|
||||||
000019d0 g F .text 0000010c netdev_init_mac
|
000019c0 g F .text 0000010c netdev_init_mac
|
||||||
000010b0 g F .text 00000028 UARTCharGetNonBlocking
|
000010b0 g F .text 00000028 UARTCharGetNonBlocking
|
||||||
00001248 g F .text 00000040 SSIDataPut
|
00001248 g F .text 00000040 SSIDataPut
|
||||||
20000008 g .bss 00000000 _bss
|
20000008 g .bss 00000000 _bss
|
||||||
00003d68 g F .text 0000000e f_close
|
00003ea8 g F .text 0000001a f_close
|
||||||
00001c70 g F .text 00000220 XcpPacketReceived
|
00001c60 g F .text 00000220 XcpPacketReceived
|
||||||
000041c8 g F .text 00000006 uip_tcpchksum
|
00004364 g F .text 00000006 uip_tcpchksum
|
||||||
00004ef4 g F .text 00000004 CpuInit
|
00005090 g F .text 00000004 CpuInit
|
||||||
000039cc g F .text 00000160 f_read
|
00003b04 g F .text 00000152 f_read
|
||||||
000053fc g F .text 00000034 FlashDone
|
00005598 g F .text 00000034 FlashDone
|
||||||
20000fe0 g O .bss 00000004 uip_appdata
|
20000fe4 g O .bss 00000004 uip_appdata
|
||||||
20000fe4 g O .bss 00000004 uip_conn
|
20000fe8 g O .bss 00000004 uip_conn
|
||||||
20000fe8 g O .bss 00000068 uip_conns
|
20000fec g O .bss 00000068 uip_conns
|
||||||
00000604 g F .text 000000e4 FlashProgram
|
00000604 g F .text 000000e4 FlashProgram
|
||||||
000019b0 g F .text 00000008 get_fattime
|
00001c24 g F .text 0000001c XcpInit
|
||||||
00001c34 g F .text 0000001c XcpInit
|
00001fc8 g F .text 00000030 FileInit
|
||||||
00001fd8 g F .text 0000002c FileInit
|
|
||||||
00000518 g F .text 00000028 EthernetIntStatus
|
00000518 g F .text 00000028 EthernetIntStatus
|
||||||
00004db0 g F .text 00000144 uip_arp_out
|
00004f4c g F .text 00000144 uip_arp_out
|
||||||
000052a0 g F .text 000000d0 FlashErase
|
0000543c g F .text 000000d0 FlashErase
|
||||||
00005544 g F .text 0000009e memset
|
000056e0 g F .text 0000009e memset
|
||||||
00000198 g F .text 00000014 FileFirmwareUpdateErrorHook
|
00000198 g F .text 00000014 FileFirmwareUpdateErrorHook
|
||||||
000001f4 g F .text 0000002c main
|
000001f4 g F .text 0000002c main
|
||||||
00003cbe g F .text 000000aa f_sync
|
00003e14 g F .text 00000094 f_sync
|
||||||
00000ae8 g F .text 000001ac SysCtlClockGet
|
00000ae8 g F .text 000001ac SysCtlClockGet
|
||||||
00002040 g F .text 00000044 FileSrecGetLineType
|
00002034 g F .text 00000044 FileSrecGetLineType
|
||||||
00000f88 g F .text 00000034 UARTDisable
|
00000f88 g F .text 00000034 UARTDisable
|
||||||
00005084 g F .text 00000012 NvmDone
|
00005220 g F .text 00000012 NvmDone
|
||||||
000003f0 g F .text 00000040 EthernetEnable
|
000003f0 g F .text 00000040 EthernetEnable
|
||||||
0000386c g F .text 00000020 f_mount
|
00003964 g F .text 00000050 f_mount
|
||||||
00004f74 g F .text 0000006c UartTransmitPacket
|
00005110 g F .text 0000006c UartTransmitPacket
|
||||||
0000507c g F .text 00000004 NvmVerifyChecksum
|
00005218 g F .text 00000004 NvmVerifyChecksum
|
||||||
00004f2c g F .text 0000001e CpuMemCopy
|
000050c8 g F .text 0000001e CpuMemCopy
|
||||||
00002e86 g F .text 000000f2 put_fat
|
00003ec2 g F .text 00000134 f_lseek
|
||||||
00003d76 g F .text 00000138 f_lseek
|
00004e9c g F .text 000000b0 uip_arp_arpin
|
||||||
00004d00 g F .text 000000b0 uip_arp_arpin
|
00001bf8 g F .text 00000014 ComGetActiveInterfaceMaxTxLen
|
||||||
00001c08 g F .text 00000014 ComGetActiveInterfaceMaxTxLen
|
0000517c g F .text 00000090 UartReceivePacket
|
||||||
00004fe0 g F .text 00000090 UartReceivePacket
|
|
||||||
00000128 g F .text 00000008 FileGetFirmwareFilenameHook
|
00000128 g F .text 00000008 FileGetFirmwareFilenameHook
|
||||||
00005448 g F .text 00000004 CpuIrqEnable
|
000055e4 g F .text 00000004 CpuIrqEnable
|
||||||
00000390 g F .text 00000060 EthernetMACAddrSet
|
00000390 g F .text 00000060 EthernetMACAddrSet
|
||||||
00004ca8 g F .text 00000058 uip_arp_timer
|
00004e44 g F .text 00000058 uip_arp_timer
|
||||||
20001050 g O .bss 00000002 uip_listenports
|
20001054 g O .bss 00000002 uip_listenports
|
||||||
20001052 g O .bss 00000004 uip_draddr
|
20001056 g O .bss 00000004 uip_draddr
|
||||||
20000000 g .data 00000000 _data
|
20000000 g .data 00000000 _data
|
||||||
00000574 g F .text 00000040 EthernetPHYRead
|
00000574 g F .text 00000040 EthernetPHYRead
|
||||||
00003eb0 g F .text 00000048 f_stat
|
00003ff8 g F .text 00000058 f_stat
|
||||||
00001ef8 g F .text 00000002 CopInit
|
00001ee8 g F .text 00000002 CopInit
|
||||||
00001224 g F .text 00000024 SSIDisable
|
00001224 g F .text 00000024 SSIDisable
|
||||||
00005074 g F .text 00000004 NvmWrite
|
00005210 g F .text 00000004 NvmWrite
|
||||||
00004ef8 g F .text 00000034 CpuStartUserProgram
|
00005094 g F .text 00000034 CpuStartUserProgram
|
||||||
00002d1e g F .text 00000018 clust2sect
|
20001ea8 g .bss 00000000 _estack
|
||||||
200018a4 g .bss 00000000 _estack
|
|
||||||
00000338 g F .text 00000058 EthernetConfigSet
|
00000338 g F .text 00000058 EthernetConfigSet
|
||||||
000053b4 g F .text 00000048 FlashVerifyChecksum
|
00005550 g F .text 00000048 FlashVerifyChecksum
|
||||||
00002598 g F .text 0000003c NetTransmitPacket
|
00002650 g F .text 0000003c NetTransmitPacket
|
||||||
20000008 g .data 00000000 _edata
|
20000008 g .data 00000000 _edata
|
||||||
00002004 g F .text 00000014 FileIsIdle
|
00001ff8 g F .text 00000014 FileIsIdle
|
||||||
00004b98 g F .text 00000006 htons
|
00004d34 g F .text 00000006 htons
|
||||||
00003b2c g F .text 00000192 f_write
|
00003c56 g F .text 0000017a f_write
|
||||||
00000000 g O .text 000000f0 _vectab
|
00000000 g O .text 000000f0 _vectab
|
||||||
000006e8 g F .text 00000060 FlashUserGet
|
000006e8 g F .text 00000060 FlashUserGet
|
||||||
00000f04 g F .text 00000034 GPIOPinTypeUART
|
00000f04 g F .text 00000034 GPIOPinTypeUART
|
||||||
0000388c g F .text 00000140 f_open
|
000039b4 g F .text 00000150 f_open
|
||||||
00001710 g F .text 000000c0 disk_write
|
0000170c g F .text 000000bc disk_write
|
||||||
00000e9c g F .text 00000034 GPIOPinTypeGPIOOutput
|
00000e9c g F .text 00000034 GPIOPinTypeGPIOOutput
|
||||||
000001ac g F .text 00000048 FileFirmwareUpdateLogHook
|
000001ac g F .text 00000048 FileFirmwareUpdateLogHook
|
||||||
20000004 g O .data 00000004 __ctype_ptr__
|
20000004 g O .data 00000004 __ctype_ptr__
|
||||||
00001c1c g F .text 00000004 ComIsConnected
|
00001c0c g F .text 00000004 ComIsConnected
|
||||||
000004e0 g F .text 00000038 EthernetIntDisable
|
000004e0 g F .text 00000038 EthernetIntDisable
|
||||||
00005f44 g O .text 00000101 _ctype_
|
00005fd0 g O .text 00000101 _ctype_
|
||||||
00000540 g F .text 00000034 EthernetIntClear
|
00000540 g F .text 00000034 EthernetIntClear
|
||||||
000000f0 g F .text 00000038 FileIsFirmwareUpdateRequestedHook
|
000000f0 g F .text 00000038 FileIsFirmwareUpdateRequestedHook
|
||||||
00001104 g F .text 00000020 UARTBusy
|
00001104 g F .text 00000020 UARTBusy
|
||||||
000041d0 g F .text 0000002c uip_init
|
0000436c g F .text 0000002c uip_init
|
||||||
00001bf4 g F .text 00000014 ComGetActiveInterfaceMaxRxLen
|
00001be4 g F .text 00000014 ComGetActiveInterfaceMaxRxLen
|
||||||
000025d4 g F .text 000000b0 NetReceivePacket
|
0000268c g F .text 000000b0 NetReceivePacket
|
||||||
00000ce8 g F .text 00000058 GPIODirModeSet
|
00000ce8 g F .text 00000058 GPIODirModeSet
|
||||||
0000168c g F .text 00000084 disk_read
|
0000168c g F .text 00000080 disk_read
|
||||||
00001e90 g F .text 00000048 BackDoorCheck
|
00001e80 g F .text 00000048 BackDoorCheck
|
||||||
200016a2 g .bss 00000000 _stack
|
200016a6 g .bss 00000000 _stack
|
||||||
20001056 g O .bss 00000004 uip_netmask
|
2000105a g O .bss 00000004 uip_netmask
|
||||||
2000105a g O .bss 00000004 uip_hostaddr
|
2000105e g O .bss 00000004 uip_hostaddr
|
||||||
00004054 g F .text 0000003c ff_convert
|
00004190 g F .text 0000003c ff_convert
|
||||||
000050e0 g F .text 00000010 TimerGet
|
0000527c g F .text 00000010 TimerGet
|
||||||
00002684 g F .text 00000064 NetApp
|
0000273c g F .text 00000064 NetApp
|
||||||
00000fbc g F .text 000000d0 UARTConfigSetExpClk
|
00000fbc g F .text 000000d0 UARTConfigSetExpClk
|
||||||
0000252c g F .text 0000006c NetInit
|
000025e4 g F .text 0000006c NetInit
|
||||||
00000998 g F .text 00000150 SysCtlClockSet
|
00000998 g F .text 00000150 SysCtlClockSet
|
||||||
00000d40 g F .text 00000104 GPIOPadConfigSet
|
00000d40 g F .text 00000104 GPIOPadConfigSet
|
||||||
00005098 g F .text 00000020 TimerInit
|
00005234 g F .text 00000020 TimerInit
|
||||||
2000105e g O .bss 00000642 uip_buf
|
20001062 g O .bss 00000642 uip_buf
|
||||||
000005b4 g F .text 00000050 FlashClear
|
000005b4 g F .text 00000050 FlashClear
|
||||||
00004ba0 g F .text 00000024 uip_send
|
00004d3c g F .text 00000024 uip_send
|
||||||
200016a0 g O .bss 00000002 uip_slen
|
200016a4 g O .bss 00000002 uip_slen
|
||||||
00000130 g F .text 00000028 FileFirmwareUpdateStartedHook
|
00000130 g F .text 00000028 FileFirmwareUpdateStartedHook
|
||||||
00000f58 g F .text 00000030 UARTEnable
|
00000f58 g F .text 00000030 UARTEnable
|
||||||
|
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -30,6 +30,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -226,7 +238,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -280,7 +292,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -307,7 +319,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -336,7 +347,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -402,7 +412,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -470,10 +480,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -506,12 +516,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -540,7 +549,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -548,7 +556,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -646,27 +653,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2010/4/26 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Wnd0>
|
<Wnd2>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-4214-26312</Identity>
|
<Identity>TabID-4214-26312</Identity>
|
||||||
|
@ -51,20 +51,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-14429-10902</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1><Wnd4><Tabs><Tab><Identity>TabID-29443-18340</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd4></Windows>
|
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-14429-10902</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3><Wnd5><Tabs><Tab><Identity>TabID-29443-18340</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>75</YPos2><SelStart2>5793</SelStart2><SelEnd2>5793</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>2788</SelStart2><SelEnd2>2788</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>75</YPos2><SelStart2>5273</SelStart2><SelEnd2>5273</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>19</YPos2><SelStart2>2788</SelStart2><SelEnd2>2788</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>532</YPos2><SelStart2>17458</SelStart2><SelEnd2>17458</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\third_party\fatfs\src\ff.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>5144</YPos2><SelStart2>174744</SelStart2><SelEnd2>174744</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\third_party\fatfs\src\diskio.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>977</SelStart2><SelEnd2>977</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-028D7138><key>iaridepm.enu1</key></Toolbar-028D7138></Sizes></Row0><Row1><Sizes><Toolbar-103EBDB0><key>debuggergui.enu1</key></Toolbar-103EBDB0></Sizes></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>285</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>243</yscreen><sizeHorzCX>125000</sizeHorzCX><sizeHorzCY>241071</sizeHorzCY><sizeVertCX>149479</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd4></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198413</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-04F8A660><key>iaridepm.enu1</key></Toolbar-04F8A660></Sizes></Row0><Row1><Sizes><Toolbar-0A9A6AE8><key>debuggergui.enu1</key></Toolbar-0A9A6AE8></Sizes></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>285</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>243</yscreen><sizeHorzCX>125000</sizeHorzCX><sizeHorzCY>241311</sizeHorzCY><sizeVertCX>149479</sizeVertCX><sizeVertCY>736842</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>736842</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198610</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ TriggerName=main
|
||||||
LimitSize=0
|
LimitSize=0
|
||||||
ByteLimit=50
|
ByteLimit=50
|
||||||
[DebugChecksum]
|
[DebugChecksum]
|
||||||
Checksum=1760179919
|
Checksum=707773344
|
||||||
[Exceptions]
|
[Exceptions]
|
||||||
StopOnUncaught=_ 0
|
StopOnUncaught=_ 0
|
||||||
StopOnThrow=_ 0
|
StopOnThrow=_ 0
|
||||||
|
@ -19,7 +19,7 @@ ShowArgs=0
|
||||||
MixedMode=1
|
MixedMode=1
|
||||||
[LMIFTDIDriver]
|
[LMIFTDIDriver]
|
||||||
LMI_ResetMode=0x00000000
|
LMI_ResetMode=0x00000000
|
||||||
LMIFTDIserialNo=04110706A
|
LMIFTDIserialNo=04110716A
|
||||||
LMIFTDIfoundProbes=
|
LMIFTDIfoundProbes=
|
||||||
LMI_LeaveTargetRunning=0x00000000
|
LMI_LeaveTargetRunning=0x00000000
|
||||||
[watch_formats]
|
[watch_formats]
|
||||||
|
|
|
@ -12,9 +12,9 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Column0>235</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
<Column0>376</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
<Build><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Find-All-References</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1155</ColumnWidth1><ColumnWidth2>308</ColumnWidth2><ColumnWidth3>77</ColumnWidth3></Build><Find-in-Files><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ColumnWidth0>552</ColumnWidth0><ColumnWidth1>78</ColumnWidth1><ColumnWidth2>946</ColumnWidth2></Find-in-Files><TerminalIO/><PROJECT_GUI_CALL_GRAPH><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>File</item><item>Function</item><item>Line</item></col-names><col-widths><item>200</item><item>700</item><item>100</item></col-widths></PROJECT_GUI_CALL_GRAPH><Select-Ambiguous-Definitions><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window><Window><Factory>Find-in-Files</Factory></Window><Window><Factory>Find-All-References</Factory></Window></Windows></PreferedWindows><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Select-Ambiguous-Definitions><Find-All-References><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Find-All-References><Debug-Log><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>279</ColumnWidth1></Debug-Log></Static>
|
<Build><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Find-All-References</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1155</ColumnWidth1><ColumnWidth2>308</ColumnWidth2><ColumnWidth3>77</ColumnWidth3></Build><Find-in-Files><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ColumnWidth0>552</ColumnWidth0><ColumnWidth1>78</ColumnWidth1><ColumnWidth2>946</ColumnWidth2><ColumnWidth3>379</ColumnWidth3></Find-in-Files><TerminalIO/><PROJECT_GUI_CALL_GRAPH><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>File</item><item>Function</item><item>Line</item></col-names><col-widths><item>200</item><item>700</item><item>100</item></col-widths></PROJECT_GUI_CALL_GRAPH><Select-Ambiguous-Definitions><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window><Window><Factory>Find-in-Files</Factory></Window><Window><Factory>Find-All-References</Factory></Window></Windows></PreferedWindows><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Select-Ambiguous-Definitions><Find-All-References><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Find-All-References><Debug-Log><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>279</ColumnWidth1></Debug-Log></Static>
|
||||||
<Windows>
|
<Windows>
|
||||||
|
|
||||||
<Wnd0>
|
<Wnd0>
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
<Factory>Workspace</Factory>
|
<Factory>Workspace</Factory>
|
||||||
<Session>
|
<Session>
|
||||||
|
|
||||||
<NodeDict><ExpandedNode>lm3s6965</ExpandedNode><ExpandedNode>lm3s6965/Boot</ExpandedNode><ExpandedNode>lm3s6965/Output</ExpandedNode><ExpandedNode>lm3s6965/Source</ExpandedNode><ExpandedNode>lm3s6965/Source/ARMCM3_LM3S</ExpandedNode><ExpandedNode>lm3s6965/Source/ARMCM3_LM3S/IAR</ExpandedNode><ExpandedNode>lm3s6965/Source/fatfs</ExpandedNode></NodeDict></Session>
|
<NodeDict><ExpandedNode>lm3s6965</ExpandedNode><ExpandedNode>lm3s6965/Boot</ExpandedNode><ExpandedNode>lm3s6965/Boot/lib</ExpandedNode><ExpandedNode>lm3s6965/Boot/lib/fatfs</ExpandedNode><ExpandedNode>lm3s6965/Output</ExpandedNode><ExpandedNode>lm3s6965/Source</ExpandedNode><ExpandedNode>lm3s6965/Source/ARMCM3_LM3S</ExpandedNode><ExpandedNode>lm3s6965/Source/ARMCM3_LM3S/IAR</ExpandedNode><ExpandedNode>lm3s6965/Source/fatfs</ExpandedNode><ExpandedNode>lm3s6965/Source/third_party</ExpandedNode><ExpandedNode>lm3s6965/Source/third_party/fatfs</ExpandedNode></NodeDict></Session>
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
|
@ -35,14 +35,14 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>75</YPos2><SelStart2>5273</SelStart2><SelEnd2>5273</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>19</YPos2><SelStart2>2907</SelStart2><SelEnd2>2907</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>75</YPos2><SelStart2>5273</SelStart2><SelEnd2>5273</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>19</YPos2><SelStart2>2290</SelStart2><SelEnd2>2290</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>532</YPos2><SelStart2>17458</SelStart2><SelEnd2>17458</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\third_party\fatfs\src\ff.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>5144</YPos2><SelStart2>174744</SelStart2><SelEnd2>174744</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\third_party\fatfs\src\diskio.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>977</SelStart2><SelEnd2>977</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-0679A660><key>iaridepm.enu1</key></Toolbar-0679A660></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>562</Bottom><Right>326</Right><x>-2</x><y>-2</y><xscreen>372</xscreen><yscreen>353</yscreen><sizeHorzCX>193750</sizeHorzCX><sizeHorzCY>350546</sizeHorzCY><sizeVertCX>170833</sizeVertCX><sizeVertCY>560079</sizeVertCY></Rect></Wnd0><Wnd3><Rect><Top>0</Top><Left>0</Left><Bottom>6750305</Bottom><Right>7471215</Right><x>-2</x><y>560</y><xscreen>258</xscreen><yscreen>237</yscreen><sizeHorzCX>134375</sizeHorzCX><sizeHorzCY>235353</sizeHorzCY><sizeVertCX>170833</sizeVertCX><sizeVertCY>399206</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-061643F8><key>iaridepm.enu1</key></Toolbar-061643F8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>463</Bottom><Right>467</Right><x>-2</x><y>-2</y><xscreen>372</xscreen><yscreen>353</yscreen><sizeHorzCX>193750</sizeHorzCX><sizeHorzCY>350546</sizeHorzCY><sizeVertCX>244271</sizeVertCX><sizeVertCY>461768</sizeVertCY></Rect></Wnd0><Wnd3><Rect><Top>0</Top><Left>0</Left><Bottom>7536743</Bottom><Right>7209065</Right><x>-2</x><y>461</y><xscreen>258</xscreen><yscreen>237</yscreen><sizeHorzCX>134375</sizeHorzCX><sizeHorzCY>235353</sizeHorzCY><sizeVertCX>244271</sizeVertCX><sizeVertCY>497517</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -30,6 +30,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -226,7 +238,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -280,7 +292,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -307,7 +319,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -336,7 +347,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -402,7 +412,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -470,10 +480,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -506,12 +516,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -540,7 +549,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -548,7 +556,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -646,27 +653,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -24,6 +24,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -237,7 +249,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -291,7 +303,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -318,7 +330,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -347,7 +358,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,7 +423,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -481,10 +491,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -517,12 +527,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -551,7 +560,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -559,7 +567,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -657,27 +664,7 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -7,38 +7,38 @@ start address 0x08000000
|
||||||
|
|
||||||
Program Header:
|
Program Header:
|
||||||
LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15
|
LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15
|
||||||
filesz 0x000050ac memsz 0x000050ac flags r-x
|
filesz 0x00005248 memsz 0x00005248 flags r-x
|
||||||
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x080050ac align 2**15
|
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x08005248 align 2**15
|
||||||
filesz 0x00000008 memsz 0x00001150 flags rw-
|
filesz 0x00000008 memsz 0x00001158 flags rw-
|
||||||
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
|
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
|
||||||
|
|
||||||
Sections:
|
Sections:
|
||||||
Idx Name Size VMA LMA File off Algn
|
Idx Name Size VMA LMA File off Algn
|
||||||
0 .text 000050ac 08000000 08000000 00008000 2**2
|
0 .text 00005248 08000000 08000000 00008000 2**2
|
||||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||||
1 .data 00000008 20000000 080050ac 00010000 2**2
|
1 .data 00000008 20000000 08005248 00010000 2**2
|
||||||
CONTENTS, ALLOC, LOAD, DATA
|
CONTENTS, ALLOC, LOAD, DATA
|
||||||
2 .bss 00001148 20000008 080050b4 00010008 2**2
|
2 .bss 00001150 20000008 08005250 00010008 2**2
|
||||||
ALLOC
|
ALLOC
|
||||||
3 .debug_info 0000b1c0 00000000 00000000 00010008 2**0
|
3 .debug_info 0000c02f 00000000 00000000 00010008 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
4 .debug_abbrev 000024da 00000000 00000000 0001b1c8 2**0
|
4 .debug_abbrev 00002514 00000000 00000000 0001c037 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
5 .debug_loc 0000905b 00000000 00000000 0001d6a2 2**0
|
5 .debug_loc 00009b46 00000000 00000000 0001e54b 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
6 .debug_aranges 000009c0 00000000 00000000 000266fd 2**0
|
6 .debug_aranges 000009c0 00000000 00000000 00028091 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
7 .debug_ranges 00000930 00000000 00000000 000270bd 2**0
|
7 .debug_ranges 00000938 00000000 00000000 00028a51 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
8 .debug_line 0000368b 00000000 00000000 000279ed 2**0
|
8 .debug_line 000037dd 00000000 00000000 00029389 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
9 .debug_str 0000269e 00000000 00000000 0002b078 2**0
|
9 .debug_str 000026e1 00000000 00000000 0002cb66 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
10 .comment 00000030 00000000 00000000 0002d716 2**0
|
10 .comment 00000030 00000000 00000000 0002f247 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
11 .ARM.attributes 00000033 00000000 00000000 0002d746 2**0
|
11 .ARM.attributes 00000033 00000000 00000000 0002f277 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
12 .debug_frame 00001868 00000000 00000000 0002d77c 2**2
|
12 .debug_frame 000018bc 00000000 00000000 0002f2ac 2**2
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
SYMBOL TABLE:
|
SYMBOL TABLE:
|
||||||
08000000 l d .text 00000000 .text
|
08000000 l d .text 00000000 .text
|
||||||
|
@ -56,210 +56,213 @@ SYMBOL TABLE:
|
||||||
00000000 l d .debug_frame 00000000 .debug_frame
|
00000000 l d .debug_frame 00000000 .debug_frame
|
||||||
00000000 l df *ABS* 00000000 vectors.c
|
00000000 l df *ABS* 00000000 vectors.c
|
||||||
00000000 l df *ABS* 00000000 hooks.c
|
00000000 l df *ABS* 00000000 hooks.c
|
||||||
08004704 l O .text 00000020 firmwareFilename
|
080049ac l O .text 00000020 firmwareFilename
|
||||||
20000008 l O .bss 00000228 logfile
|
20000008 l O .bss 0000022c logfile
|
||||||
00000000 l df *ABS* 00000000 main.c
|
00000000 l df *ABS* 00000000 main.c
|
||||||
00000000 l df *ABS* 00000000 mmc.c
|
00000000 l df *ABS* 00000000 mmc.c
|
||||||
0800045c l F .text 00000036 xchg_spi
|
08000458 l F .text 00000036 xchg_spi
|
||||||
08000494 l F .text 0000002a wait_ready
|
08000490 l F .text 0000002a wait_ready
|
||||||
080004c0 l F .text 0000001a deselect
|
080004bc l F .text 0000001a deselect
|
||||||
080004dc l F .text 0000002c select
|
080004d8 l F .text 0000002c select
|
||||||
08000508 l F .text 00000090 send_cmd
|
08000504 l F .text 00000090 send_cmd
|
||||||
08000598 l F .text 0000005c xmit_datablock
|
08000594 l F .text 0000005c xmit_datablock
|
||||||
080005f4 l F .text 0000005e rcvr_datablock
|
080005f0 l F .text 0000005e rcvr_datablock
|
||||||
20000230 l O .bss 00000004 CardType
|
20000234 l O .bss 00000004 CardType
|
||||||
20000000 l O .data 00000001 Stat
|
20000000 l O .data 00000001 Stat
|
||||||
00000000 l df *ABS* 00000000 stm32f10x_gpio.c
|
00000000 l df *ABS* 00000000 stm32f10x_gpio.c
|
||||||
00000000 l df *ABS* 00000000 stm32f10x_rcc.c
|
00000000 l df *ABS* 00000000 stm32f10x_rcc.c
|
||||||
00000000 l df *ABS* 00000000 stm32f10x_spi.c
|
00000000 l df *ABS* 00000000 stm32f10x_spi.c
|
||||||
00000000 l df *ABS* 00000000 stm32f10x_usart.c
|
00000000 l df *ABS* 00000000 stm32f10x_usart.c
|
||||||
00000000 l df *ABS* 00000000 ff.c
|
00000000 l df *ABS* 00000000 ff.c
|
||||||
08000f34 l F .text 00000012 mem_cpy
|
08000f20 l F .text 00000016 ld_dword
|
||||||
08000f48 l F .text 0000001e ld_clust
|
08000f38 l F .text 00000012 mem_cpy
|
||||||
08000f68 l F .text 0000001e sum_sfn
|
08000f4c l F .text 00000016 clust2sect
|
||||||
08000f88 l F .text 00000096 check_fs
|
08000f64 l F .text 0000001e sum_sfn
|
||||||
08001020 l F .text 00000076 sync_window
|
08000f84 l F .text 00000056 get_ldnumber
|
||||||
08001098 l F .text 00000032 move_window
|
08000fdc l F .text 00000034 validate
|
||||||
080010cc l F .text 00000038 validate
|
08001010 l F .text 0000006c sync_window
|
||||||
08001104 l F .text 00000394 chk_mounted
|
0800107c l F .text 0000003c move_window
|
||||||
08001498 l F .text 0000012c get_fileinfo
|
080010b8 l F .text 000000b8 sync_fs
|
||||||
080015c4 l F .text 000000bc sync_fs
|
08001170 l F .text 00000128 put_fat
|
||||||
08001784 l F .text 00000098 dir_sdi
|
08001298 l F .text 00000018 st_clust
|
||||||
0800192c l F .text 000000cc create_chain
|
080012b0 l F .text 000000f4 get_fileinfo
|
||||||
080019f8 l F .text 0000012a dir_next
|
080013a4 l F .text 000000d6 get_fat
|
||||||
08001b24 l F .text 000001a2 dir_find
|
0800147c l F .text 000000b4 dir_sdi
|
||||||
08001cc8 l F .text 00000332 follow_path
|
08001530 l F .text 000000d8 create_chain
|
||||||
08001ffc l F .text 00000130 dir_read
|
08001608 l F .text 00000096 remove_chain
|
||||||
0800212c l F .text 00000058 dir_remove
|
080016a0 l F .text 00000126 dir_next
|
||||||
08002184 l F .text 0000006e remove_chain
|
080017c8 l F .text 00000058 dir_remove
|
||||||
0800228c l F .text 00000236 dir_register
|
08001820 l F .text 000001c2 dir_find
|
||||||
20000234 l O .bss 00000200 LfnBuf
|
080019e4 l F .text 000002fe dir_register
|
||||||
20000434 l O .bss 00000002 Fsid
|
08001ce4 l F .text 00000070 check_fs
|
||||||
08004750 l O .text 00000080 ExCvt
|
08001d54 l F .text 0000030a find_volume
|
||||||
080047d0 l O .text 0000000d LfnOfs
|
08002060 l F .text 00000156 dir_read
|
||||||
20000438 l O .bss 00000004 FatFs
|
080021b8 l F .text 0000001e ld_clust
|
||||||
|
080021d8 l F .text 00000352 follow_path
|
||||||
|
08002a58 l F .text 00000046 putc_bfd
|
||||||
|
20000238 l O .bss 00000200 LfnBuf
|
||||||
|
20000438 l O .bss 00000002 Fsid
|
||||||
|
080049f8 l O .text 00000080 ExCvt
|
||||||
|
08004a78 l O .text 0000000d LfnOfs
|
||||||
|
2000043c l O .bss 00000004 FatFs
|
||||||
00000000 l df *ABS* 00000000 unicode.c
|
00000000 l df *ABS* 00000000 unicode.c
|
||||||
080047e0 l O .text 000001e0 tbl_lower.4259
|
08004a88 l O .text 000000bc cvt2.4272
|
||||||
080049c0 l O .text 00000100 Tbl
|
08004b44 l O .text 00000100 Tbl
|
||||||
08004ac0 l O .text 000001e0 tbl_upper.4260
|
08004c44 l O .text 000001f2 cvt1.4271
|
||||||
00000000 l df *ABS* 00000000 boot.c
|
00000000 l df *ABS* 00000000 boot.c
|
||||||
00000000 l df *ABS* 00000000 com.c
|
00000000 l df *ABS* 00000000 com.c
|
||||||
2000043c l O .bss 00000040 xcpCtoReqPacket.4388
|
20000440 l O .bss 00000040 xcpCtoReqPacket.4398
|
||||||
20000001 l O .data 00000001 comActiveInterface
|
20000001 l O .data 00000001 comActiveInterface
|
||||||
00000000 l df *ABS* 00000000 xcp.c
|
00000000 l df *ABS* 00000000 xcp.c
|
||||||
08002f9c l F .text 00000016 XcpSetCtoError
|
080030b8 l F .text 00000016 XcpSetCtoError
|
||||||
08004ca0 l O .text 00000008 xcpStationId
|
08004e38 l O .text 00000008 xcpStationId
|
||||||
2000047c l O .bss 0000004c xcpInfo
|
20000480 l O .bss 0000004c xcpInfo
|
||||||
00000000 l df *ABS* 00000000 backdoor.c
|
00000000 l df *ABS* 00000000 backdoor.c
|
||||||
200004c8 l O .bss 00000001 backdoorOpen
|
200004cc l O .bss 00000001 backdoorOpen
|
||||||
200004cc l O .bss 00000004 backdoorOpenTime
|
200004d0 l O .bss 00000004 backdoorOpenTime
|
||||||
00000000 l df *ABS* 00000000 cop.c
|
00000000 l df *ABS* 00000000 cop.c
|
||||||
00000000 l df *ABS* 00000000 file.c
|
00000000 l df *ABS* 00000000 file.c
|
||||||
080033f4 l F .text 0000002e FileLibByteNibbleToChar
|
08003510 l F .text 0000002e FileLibByteNibbleToChar
|
||||||
08003424 l F .text 00000020 FileLibByteToHexString
|
08003540 l F .text 00000020 FileLibByteToHexString
|
||||||
08003444 l F .text 00000046 FileLibLongToIntString
|
08003560 l F .text 00000046 FileLibLongToIntString
|
||||||
0800348c l F .text 00000066 FileLibHexStringToByte
|
080035a8 l F .text 00000066 FileLibHexStringToByte
|
||||||
200004d0 l O .bss 00000040 loggingStr
|
200004d4 l O .bss 00000040 loggingStr
|
||||||
20000510 l O .bss 00000001 firmwareUpdateState
|
20000514 l O .bss 00000001 firmwareUpdateState
|
||||||
20000514 l O .bss 00000008 eraseInfo
|
20000518 l O .bss 00000008 eraseInfo
|
||||||
2000051c l O .bss 00000458 fatFsObjects
|
20000520 l O .bss 00000458 fatFsObjects
|
||||||
20000974 l O .bss 00000184 lineParseObject
|
20000978 l O .bss 00000184 lineParseObject
|
||||||
00000000 l df *ABS* 00000000 assert.c
|
00000000 l df *ABS* 00000000 assert.c
|
||||||
00000000 l df *ABS* 00000000 cpu.c
|
00000000 l df *ABS* 00000000 cpu.c
|
||||||
00000000 l df *ABS* 00000000 can.c
|
00000000 l df *ABS* 00000000 can.c
|
||||||
08004e90 l O .text 00000024 canTiming
|
0800502c l O .text 00000024 canTiming
|
||||||
00000000 l df *ABS* 00000000 uart.c
|
00000000 l df *ABS* 00000000 uart.c
|
||||||
08003ee8 l F .text 0000004e UartTransmitByte
|
080040f0 l F .text 0000004e UartTransmitByte
|
||||||
20000af8 l O .bss 00000004 xcpCtoRxStartTime.4407
|
20000afc l O .bss 00000001 xcpCtoRxInProgress.4416
|
||||||
20000afc l O .bss 00000041 xcpCtoReqPacket.4404
|
20000b00 l O .bss 00000004 xcpCtoRxStartTime.4417
|
||||||
20000b40 l O .bss 00000001 xcpCtoRxLength.4405
|
20000b04 l O .bss 00000041 xcpCtoReqPacket.4414
|
||||||
20000b41 l O .bss 00000001 xcpCtoRxInProgress.4406
|
20000b48 l O .bss 00000001 xcpCtoRxLength.4415
|
||||||
00000000 l df *ABS* 00000000 nvm.c
|
00000000 l df *ABS* 00000000 nvm.c
|
||||||
00000000 l df *ABS* 00000000 timer.c
|
00000000 l df *ABS* 00000000 timer.c
|
||||||
20000b44 l O .bss 00000004 millisecond_counter
|
20000b4c l O .bss 00000004 millisecond_counter
|
||||||
00000000 l df *ABS* 00000000 flash.c
|
00000000 l df *ABS* 00000000 flash.c
|
||||||
08004170 l F .text 00000012 FlashLock
|
08004378 l F .text 00000012 FlashLock
|
||||||
08004184 l F .text 00000044 FlashGetSector
|
0800438c l F .text 00000044 FlashGetSector
|
||||||
080041c8 l F .text 000000d0 FlashWriteBlock
|
080043d0 l F .text 000000d0 FlashWriteBlock
|
||||||
08004298 l F .text 00000062 FlashSwitchBlock
|
080044a0 l F .text 00000062 FlashSwitchBlock
|
||||||
080042fc l F .text 00000084 FlashAddToBlock
|
08004504 l F .text 00000084 FlashAddToBlock
|
||||||
08004edc l O .text 0000009c flashLayout
|
08005078 l O .text 0000009c flashLayout
|
||||||
20000b48 l O .bss 00000204 bootBlockInfo
|
20000b50 l O .bss 00000204 bootBlockInfo
|
||||||
20000d4c l O .bss 00000204 blockInfo
|
20000d54 l O .bss 00000204 blockInfo
|
||||||
00000000 l df *ABS* 00000000 cpu_comp.c
|
00000000 l df *ABS* 00000000 cpu_comp.c
|
||||||
00000000 l df *ABS* 00000000 cstart.c
|
00000000 l df *ABS* 00000000 cstart.c
|
||||||
080046e4 l F .text 00000000 zero_loop
|
080048ec l F .text 00000000 zero_loop
|
||||||
|
00000000 l df *ABS* 00000000 memset.c
|
||||||
00000000 l df *ABS* 00000000 ctype_.c
|
00000000 l df *ABS* 00000000 ctype_.c
|
||||||
00000000 l df *ABS* 00000000
|
00000000 l df *ABS* 00000000
|
||||||
00000200 l *ABS* 00000000 __STACKSIZE__
|
00000200 l *ABS* 00000000 __STACKSIZE__
|
||||||
08002ea0 g F .text 00000020 ComInit
|
08002fbc g F .text 00000020 ComInit
|
||||||
0800439c g F .text 00000050 FlashWrite
|
080045a4 g F .text 00000050 FlashWrite
|
||||||
08002d3c g F .text 0000004e f_gets
|
08002dec g F .text 0000004e f_gets
|
||||||
08003bec g F .text 00000008 AssertFailure
|
08003df4 g F .text 00000008 AssertFailure
|
||||||
08001698 g F .text 000000ea get_fat
|
08004068 g F .text 00000088 CanReceivePacket
|
||||||
08003e60 g F .text 00000088 CanReceivePacket
|
080048a8 g F .text 00000058 reset_handler
|
||||||
080046a0 g F .text 00000058 reset_handler
|
08004340 g F .text 00000022 TimerUpdate
|
||||||
08004138 g F .text 00000022 TimerUpdate
|
08003100 g F .text 00000010 XcpPacketTransmitted
|
||||||
08002fe4 g F .text 00000010 XcpPacketTransmitted
|
08000ed8 g F .text 00000004 SPI_I2S_SendData
|
||||||
08000eec g F .text 00000004 SPI_I2S_SendData
|
08002fdc g F .text 00000054 ComTask
|
||||||
08002ec0 g F .text 00000054 ComTask
|
08002f84 g F .text 00000020 BootInit
|
||||||
08002e68 g F .text 00000020 BootInit
|
080036dc g F .text 00000038 FileSrecVerifyChecksum
|
||||||
080035b8 g F .text 00000038 FileSrecVerifyChecksum
|
08000edc g F .text 00000006 SPI_I2S_ReceiveData
|
||||||
08000ef0 g F .text 00000006 SPI_I2S_ReceiveData
|
080034e4 g F .text 00000022 BackDoorInit
|
||||||
080033c8 g F .text 00000022 BackDoorInit
|
08000f14 g F .text 0000000c USART_GetFlagStatus
|
||||||
08000f28 g F .text 0000000c USART_GetFlagStatus
|
0800350c g F .text 00000002 CopService
|
||||||
080033f0 g F .text 00000002 CopService
|
08005248 g .text 00000000 _etext
|
||||||
080050ac g .text 00000000 _etext
|
080048a0 g F .text 00000004 CpuIrqDisable
|
||||||
08004698 g F .text 00000004 CpuIrqDisable
|
08002edc g F .text 000000a6 ff_wtoupper
|
||||||
08002e38 g F .text 0000002e ff_wtoupper
|
08004880 g F .text 0000000a FlashGetUserProgBaseAddress
|
||||||
08004678 g F .text 0000000a FlashGetUserProgBaseAddress
|
08003894 g F .text 00000560 FileTask
|
||||||
08003770 g F .text 0000047c FileTask
|
08004330 g F .text 0000000e TimerReset
|
||||||
08004128 g F .text 0000000e TimerReset
|
08000650 g F .text 00000330 disk_initialize
|
||||||
08000654 g F .text 00000330 disk_initialize
|
08002fa4 g F .text 00000018 BootTask
|
||||||
08002e88 g F .text 00000018 BootTask
|
08004774 g F .text 00000058 FlashWriteChecksum
|
||||||
0800456c g F .text 00000058 FlashWriteChecksum
|
08000ee4 g F .text 0000001c SPI_CalculateCRC
|
||||||
08000ef8 g F .text 0000001c SPI_CalculateCRC
|
08000e30 g F .text 00000024 RCC_APB2PeriphClockCmd
|
||||||
08000e44 g F .text 00000024 RCC_APB2PeriphClockCmd
|
08003034 g F .text 00000034 ComTransmitPacket
|
||||||
08002f18 g F .text 00000034 ComTransmitPacket
|
08000d84 g F .text 000000a4 GPIO_Init
|
||||||
08000d98 g F .text 000000a4 GPIO_Init
|
08000980 g F .text 00000014 disk_status
|
||||||
08000984 g F .text 00000014 disk_status
|
08003714 g F .text 0000017e FileSrecParseLine
|
||||||
080035f0 g F .text 0000017e FileSrecParseLine
|
08000af4 g F .text 0000028e disk_ioctl
|
||||||
08000b00 g F .text 0000028e disk_ioctl
|
08003658 g F .text 00000036 FileHandleFirmwareUpdateRequest
|
||||||
08003534 g F .text 00000036 FileHandleFirmwareUpdateRequest
|
08000e54 g F .text 00000024 RCC_APB1PeriphClockCmd
|
||||||
08000e68 g F .text 00000024 RCC_APB1PeriphClockCmd
|
08000f00 g F .text 0000000c SPI_I2S_GetFlagStatus
|
||||||
080021f4 g F .text 00000098 gen_numname
|
080001cc g F .text 00000054 FileFirmwareUpdateCompletedHook
|
||||||
08000f14 g F .text 0000000c SPI_I2S_GetFlagStatus
|
080030ec g F .text 00000012 XcpIsConnected
|
||||||
080001d0 g F .text 00000054 FileFirmwareUpdateCompletedHook
|
08002d24 g F .text 000000c8 f_unlink
|
||||||
08002fd0 g F .text 00000012 XcpIsConnected
|
080042cc g F .text 00000008 NvmInit
|
||||||
08002c80 g F .text 000000bc f_unlink
|
08004588 g F .text 0000001a FlashInit
|
||||||
080040c4 g F .text 00000008 NvmInit
|
080042ec g F .text 00000008 NvmGetUserProgBaseAddress
|
||||||
08004380 g F .text 0000001a FlashInit
|
20000f58 g .bss 00000000 _ebss
|
||||||
080040e4 g F .text 00000008 NvmGetUserProgBaseAddress
|
08002e3c g F .text 00000052 f_puts
|
||||||
20000f50 g .bss 00000000 _ebss
|
0800488c g F .text 00000012 UnusedISR
|
||||||
08002d8c g F .text 00000034 f_putc
|
08003030 g F .text 00000002 ComFree
|
||||||
08002dc0 g F .text 0000002c f_puts
|
08000e28 g F .text 00000004 GPIO_SetBits
|
||||||
08004684 g F .text 00000012 UnusedISR
|
08004140 g F .text 0000002a UartInit
|
||||||
08002f14 g F .text 00000002 ComFree
|
080042dc g F .text 00000008 NvmErase
|
||||||
08000e3c g F .text 00000004 GPIO_SetBits
|
|
||||||
08003f38 g F .text 0000002a UartInit
|
|
||||||
080040d4 g F .text 00000008 NvmErase
|
|
||||||
20000008 g .bss 00000000 _bss
|
20000008 g .bss 00000000 _bss
|
||||||
08002a88 g F .text 00000014 f_close
|
08002b3c g F .text 00000024 f_close
|
||||||
08002ff4 g F .text 00000388 XcpPacketReceived
|
08003110 g F .text 00000388 XcpPacketReceived
|
||||||
08003bf4 g F .text 00000008 CpuInit
|
08003dfc g F .text 00000008 CpuInit
|
||||||
0800265c g F .text 000001a8 f_read
|
0800272c g F .text 0000017c f_read
|
||||||
0800462c g F .text 0000004c FlashDone
|
08004834 g F .text 0000004c FlashDone
|
||||||
08000e40 g F .text 00000004 GPIO_ResetBits
|
08000e2c g F .text 00000004 GPIO_ResetBits
|
||||||
08003db8 g F .text 000000a8 CanTransmitPacket
|
08003fc0 g F .text 000000a8 CanTransmitPacket
|
||||||
08000d90 g F .text 00000008 get_fattime
|
080030d0 g F .text 0000001c XcpInit
|
||||||
08002fb4 g F .text 0000001c XcpInit
|
08003610 g F .text 00000034 FileInit
|
||||||
080034f4 g F .text 0000002c FileInit
|
080045f4 g F .text 0000017e FlashErase
|
||||||
080043ec g F .text 0000017e FlashErase
|
0800490c g F .text 0000009e memset
|
||||||
08000224 g F .text 00000020 FileFirmwareUpdateErrorHook
|
08000220 g F .text 00000020 FileFirmwareUpdateErrorHook
|
||||||
080002a4 g F .text 000001b8 main
|
080002a0 g F .text 000001b8 main
|
||||||
080029dc g F .text 000000ac f_sync
|
08002aa0 g F .text 0000009c f_sync
|
||||||
0800356c g F .text 0000004c FileSrecGetLineType
|
08003690 g F .text 0000004c FileSrecGetLineType
|
||||||
080040ec g F .text 00000012 NvmDone
|
080042f4 g F .text 00000012 NvmDone
|
||||||
080024c4 g F .text 0000002a f_mount
|
0800252c g F .text 0000007a f_mount
|
||||||
08003f64 g F .text 00000066 UartTransmitPacket
|
0800416c g F .text 00000066 UartTransmitPacket
|
||||||
080040dc g F .text 00000008 NvmVerifyChecksum
|
080042e4 g F .text 00000008 NvmVerifyChecksum
|
||||||
08003c30 g F .text 0000001e CpuMemCopy
|
08003e38 g F .text 0000001e CpuMemCopy
|
||||||
08000ed0 g F .text 0000001c SPI_Cmd
|
08000ebc g F .text 0000001c SPI_Cmd
|
||||||
0800181c g F .text 0000010e put_fat
|
08002b60 g F .text 00000170 f_lseek
|
||||||
08002a9c g F .text 00000198 f_lseek
|
0800308c g F .text 00000024 ComGetActiveInterfaceMaxTxLen
|
||||||
08002f70 g F .text 00000024 ComGetActiveInterfaceMaxTxLen
|
080041d4 g F .text 000000f8 UartReceivePacket
|
||||||
08003fcc g F .text 000000f8 UartReceivePacket
|
08000190 g F .text 0000000a FileGetFirmwareFilenameHook
|
||||||
08000194 g F .text 0000000a FileGetFirmwareFilenameHook
|
080048a4 g F .text 00000004 CpuIrqEnable
|
||||||
0800469c g F .text 00000004 CpuIrqEnable
|
|
||||||
20000000 g .data 00000000 _data
|
20000000 g .data 00000000 _data
|
||||||
08002c34 g F .text 0000004a f_stat
|
08002cd0 g F .text 00000054 f_stat
|
||||||
080033ec g F .text 00000002 CopInit
|
08003508 g F .text 00000002 CopInit
|
||||||
08003c50 g F .text 00000168 CanInit
|
08003e58 g F .text 00000168 CanInit
|
||||||
080040cc g F .text 00000008 NvmWrite
|
080042d4 g F .text 00000008 NvmWrite
|
||||||
08003bfc g F .text 00000034 CpuStartUserProgram
|
08003e04 g F .text 00000034 CpuStartUserProgram
|
||||||
08001680 g F .text 00000016 clust2sect
|
20001158 g .bss 00000000 _estack
|
||||||
20001150 g .bss 00000000 _estack
|
08000f0c g F .text 00000008 USART_SendData
|
||||||
08000f20 g F .text 00000008 USART_SendData
|
080047cc g F .text 00000068 FlashVerifyChecksum
|
||||||
080045c4 g F .text 00000068 FlashVerifyChecksum
|
|
||||||
20000008 g .data 00000000 _edata
|
20000008 g .data 00000000 _edata
|
||||||
08003520 g F .text 00000014 FileIsIdle
|
08003644 g F .text 00000014 FileIsIdle
|
||||||
08002804 g F .text 000001d8 f_write
|
080028a8 g F .text 000001b0 f_write
|
||||||
08000000 g O .text 00000150 _vectab
|
08000000 g O .text 00000150 _vectab
|
||||||
080024f0 g F .text 0000016a f_open
|
080025a8 g F .text 00000184 f_open
|
||||||
08000a38 g F .text 000000c6 disk_write
|
08000a30 g F .text 000000c2 disk_write
|
||||||
08000244 g F .text 00000060 FileFirmwareUpdateLogHook
|
08000240 g F .text 00000060 FileFirmwareUpdateLogHook
|
||||||
20000004 g O .data 00000004 __ctype_ptr__
|
20000004 g O .data 00000004 __ctype_ptr__
|
||||||
08002f94 g F .text 00000008 ComIsConnected
|
080030b0 g F .text 00000008 ComIsConnected
|
||||||
08004fa8 g O .text 00000101 _ctype_
|
08005144 g O .text 00000101 _ctype_
|
||||||
08000150 g F .text 00000044 FileIsFirmwareUpdateRequestedHook
|
08000150 g F .text 0000003e FileIsFirmwareUpdateRequestedHook
|
||||||
08002f4c g F .text 00000024 ComGetActiveInterfaceMaxRxLen
|
08003068 g F .text 00000024 ComGetActiveInterfaceMaxRxLen
|
||||||
08000998 g F .text 000000a0 disk_read
|
08000994 g F .text 0000009c disk_read
|
||||||
0800337c g F .text 0000004c BackDoorCheck
|
08003498 g F .text 0000004c BackDoorCheck
|
||||||
20000f50 g .bss 00000000 _stack
|
20000f58 g .bss 00000000 _stack
|
||||||
08000e8c g F .text 00000042 SPI_Init
|
08000e78 g F .text 00000042 SPI_Init
|
||||||
08002dec g F .text 0000004a ff_convert
|
08002e90 g F .text 0000004a ff_convert
|
||||||
0800415c g F .text 00000012 TimerGet
|
08004364 g F .text 00000012 TimerGet
|
||||||
08004100 g F .text 00000028 TimerInit
|
08004308 g F .text 00000028 TimerInit
|
||||||
080001a0 g F .text 00000030 FileFirmwareUpdateStartedHook
|
0800019c g F .text 00000030 FileFirmwareUpdateStartedHook
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -24,6 +24,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -237,7 +249,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -291,7 +303,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -318,7 +330,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -347,7 +358,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,7 +423,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -481,10 +491,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -517,12 +527,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -551,7 +560,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -559,7 +567,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -657,27 +664,7 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Wnd2>
|
<Wnd0>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-12163-3113</Identity>
|
<Identity>TabID-12163-3113</Identity>
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd2><Wnd4>
|
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-22911-3116</Identity>
|
<Identity>TabID-22911-3116</Identity>
|
||||||
|
@ -59,20 +59,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd4><Wnd6><Tabs><Tab><Identity>TabID-14651-9098</Identity><TabName>Watch 1</TabName><Factory>WATCH_1</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd6><Wnd7><Tabs><Tab><Identity>TabID-4648-18854</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd7></Windows>
|
<SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-14651-9098</Identity><TabName>Watch 1</TabName><Factory>WATCH_1</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3><Wnd5><Tabs><Tab><Identity>TabID-4648-18854</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>2792</SelStart2><SelEnd2>2792</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\com.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>93</YPos2><SelStart2>4626</SelStart2><SelEnd2>4626</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>2792</SelStart2><SelEnd2>2792</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-016B7A60><key>iaridepm.enu1</key></Toolbar-016B7A60></Sizes></Row0><Row1><Sizes><Toolbar-09990CE0><key>debuggergui.enu1</key></Toolbar-09990CE0></Sizes></Row1><Row2><Sizes><Toolbar-09990C18><key>armjlink2.enu1</key></Toolbar-09990C18></Sizes></Row2></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>713</Bottom><Right>259</Right><x>-2</x><y>-2</y><xscreen>261</xscreen><yscreen>204</yscreen><sizeHorzCX>135938</sizeHorzCX><sizeHorzCY>202381</sizeHorzCY><sizeVertCX>135938</sizeVertCX><sizeVertCY>709325</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd6><Rect><Top>-2</Top><Left>-2</Left><Bottom>713</Bottom><Right>389</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>203646</sizeVertCX><sizeVertCY>709325</sizeVertCY></Rect></Wnd6></Sizes></Row0><Row1><Sizes><Wnd7><Rect><Top>-2</Top><Left>387</Left><Bottom>713</Bottom><Right>587</Right><x>387</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>709325</sizeVertCY></Rect></Wnd7></Sizes></Row1></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>202</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>204</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>202381</sizeHorzCY><sizeVertCX>135938</sizeVertCX><sizeVertCY>202381</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-00BEA5F0><key>iaridepm.enu1</key></Toolbar-00BEA5F0></Sizes></Row0><Row1><Sizes><Toolbar-0D2AD598><key>debuggergui.enu1</key></Toolbar-0D2AD598></Sizes></Row1><Row2><Sizes><Toolbar-0D2ADBD8><key>armjlink2.enu1</key></Toolbar-0D2ADBD8></Sizes></Row2></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>712</Bottom><Right>259</Right><x>-2</x><y>-2</y><xscreen>261</xscreen><yscreen>204</yscreen><sizeHorzCX>135938</sizeHorzCX><sizeHorzCY>202582</sizeHorzCY><sizeVertCX>135938</sizeVertCX><sizeVertCY>709037</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>712</Bottom><Right>389</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>203646</sizeVertCX><sizeVertCY>709037</sizeVertCY></Rect></Wnd3></Sizes></Row0><Row1><Sizes><Wnd5><Rect><Top>-2</Top><Left>387</Left><Bottom>712</Bottom><Right>587</Right><x>387</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>709037</sizeVertCY></Rect></Wnd5></Sizes></Row1></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>202</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>204</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>202582</sizeHorzCY><sizeVertCX>135938</sizeVertCX><sizeVertCY>202582</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ ActionState=1
|
||||||
Enabled=0
|
Enabled=0
|
||||||
ShowSource=1
|
ShowSource=1
|
||||||
[DebugChecksum]
|
[DebugChecksum]
|
||||||
Checksum=-512831567
|
Checksum=-1815749163
|
||||||
[DisAssemblyWindow]
|
[DisAssemblyWindow]
|
||||||
NumStates=_ 1
|
NumStates=_ 1
|
||||||
State 1=_ 1
|
State 1=_ 1
|
||||||
|
@ -81,7 +81,7 @@ Exclusions=
|
||||||
[CallStackLog]
|
[CallStackLog]
|
||||||
Enabled=0
|
Enabled=0
|
||||||
[CallStackStripe]
|
[CallStackStripe]
|
||||||
ShowTiming=160
|
ShowTiming=1
|
||||||
[Disassemble mode]
|
[Disassemble mode]
|
||||||
mode=0
|
mode=0
|
||||||
[Breakpoints2]
|
[Breakpoints2]
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1059</ColumnWidth1><ColumnWidth2>282</ColumnWidth2><ColumnWidth3>70</ColumnWidth3></Build><Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1413</ColumnWidth1></Debug-Log><TerminalIO/><Find-in-Files><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Find-in-Files></Static>
|
<Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1059</ColumnWidth1><ColumnWidth2>282</ColumnWidth2><ColumnWidth3>70</ColumnWidth3></Build><Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1413</ColumnWidth1></Debug-Log><TerminalIO/><Find-in-Files><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Find-in-Files></Static>
|
||||||
<Windows>
|
<Windows>
|
||||||
|
|
||||||
<Wnd1>
|
<Wnd0>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-32216-31616</Identity>
|
<Identity>TabID-32216-31616</Identity>
|
||||||
|
@ -29,20 +29,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-13144-32069</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-25023-6652</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-18334-26223</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
|
<SelectedTab>0</SelectedTab></Wnd0><Wnd2><Tabs><Tab><Identity>TabID-13144-32069</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-25023-6652</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-18334-26223</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd2></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>2792</SelStart2><SelEnd2>2792</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\com.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>93</YPos2><SelStart2>4626</SelStart2><SelEnd2>4626</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>2792</SelStart2><SelEnd2>2792</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-016B7A60><key>iaridepm.enu1</key></Toolbar-016B7A60></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>752</Bottom><Right>400</Right><x>-2</x><y>-2</y><xscreen>154</xscreen><yscreen>164</yscreen><sizeHorzCX>80208</sizeHorzCX><sizeHorzCY>162698</sizeHorzCY><sizeVertCX>209375</sizeVertCX><sizeVertCY>748016</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>211</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>213</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>211310</sizeHorzCY><sizeVertCX>209375</sizeVertCX><sizeVertCY>352183</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-00BEA5F0><key>iaridepm.enu1</key></Toolbar-00BEA5F0></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>751</Bottom><Right>400</Right><x>-2</x><y>-2</y><xscreen>154</xscreen><yscreen>164</yscreen><sizeHorzCX>80208</sizeHorzCX><sizeHorzCY>162860</sizeHorzCY><sizeVertCX>209375</sizeVertCX><sizeVertCY>747766</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>211</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>213</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>211519</sizeHorzCY><sizeVertCX>209375</sizeVertCX><sizeVertCY>352532</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -24,6 +24,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -237,7 +249,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -291,7 +303,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -318,7 +330,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -347,7 +358,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,7 +423,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -481,10 +491,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -517,12 +527,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -551,7 +560,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -559,7 +567,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -657,27 +664,7 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -24,6 +24,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -237,7 +249,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -291,7 +303,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -318,7 +330,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -347,7 +358,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,7 +423,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -481,10 +491,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -517,12 +527,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -551,7 +560,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -559,7 +567,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -657,27 +664,7 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,10 +1,10 @@
|
||||||
# depslib dependency file v1.0
|
# depslib dependency file v1.0
|
||||||
1477582107 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\led.c
|
1485627604 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\led.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1483541398 c:\work\software\openblt\target\source\boot.h
|
1485627342 c:\work\software\openblt\target\source\boot.h
|
||||||
"types.h"
|
"types.h"
|
||||||
"assert.h"
|
"assert.h"
|
||||||
"blt_conf.h"
|
"blt_conf.h"
|
||||||
|
@ -17,56 +17,56 @@
|
||||||
"file.h"
|
"file.h"
|
||||||
"com.h"
|
"com.h"
|
||||||
|
|
||||||
1477299962 c:\work\software\openblt\target\source\armcm3_stm32f1\types.h
|
1485627342 c:\work\software\openblt\target\source\armcm3_stm32f1\types.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\assert.h
|
1485627196 c:\work\software\openblt\target\source\assert.h
|
||||||
|
|
||||||
1483956969 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\blt_conf.h
|
1485627609 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\blt_conf.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\plausibility.h
|
1485627342 c:\work\software\openblt\target\source\plausibility.h
|
||||||
|
|
||||||
1476728168 c:\work\software\openblt\target\source\cpu.h
|
1493026658 c:\work\software\openblt\target\source\cpu.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\cop.h
|
1485627344 c:\work\software\openblt\target\source\cop.h
|
||||||
|
|
||||||
1481972114 c:\work\software\openblt\target\source\nvm.h
|
1485627196 c:\work\software\openblt\target\source\nvm.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\timer.h
|
1485627344 c:\work\software\openblt\target\source\timer.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\backdoor.h
|
1485627195 c:\work\software\openblt\target\source\backdoor.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\file.h
|
1485627343 c:\work\software\openblt\target\source\file.h
|
||||||
"ff.h"
|
"ff.h"
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\com.h
|
1485627343 c:\work\software\openblt\target\source\com.h
|
||||||
"xcp.h"
|
"xcp.h"
|
||||||
|
|
||||||
1476783465 c:\work\software\openblt\target\source\xcp.h
|
1493026917 c:\work\software\openblt\target\source\xcp.h
|
||||||
|
|
||||||
1477582005 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\led.h
|
1485627604 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\led.h
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\stm32f10x.h
|
1485627606 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\stm32f10x.h
|
||||||
"core_cm3.h"
|
"core_cm3.h"
|
||||||
"system_stm32f10x.h"
|
"system_stm32f10x.h"
|
||||||
<stdint.h>
|
<stdint.h>
|
||||||
"stm32f10x_conf.h"
|
"stm32f10x_conf.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\cmsis\core_cm3.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\cmsis\core_cm3.h
|
||||||
<stdint.h>
|
<stdint.h>
|
||||||
<core_cmInstr.h>
|
<core_cmInstr.h>
|
||||||
<core_cmFunc.h>
|
<core_cmFunc.h>
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\cmsis\core_cminstr.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\cmsis\core_cminstr.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\cmsis\core_cmfunc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\cmsis\core_cmfunc.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\system_stm32f10x.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\system_stm32f10x.h
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\stm32f10x_conf.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\stm32f10x_conf.h
|
||||||
"stm32f10x_adc.h"
|
"stm32f10x_adc.h"
|
||||||
"stm32f10x_bkp.h"
|
"stm32f10x_bkp.h"
|
||||||
"stm32f10x_can.h"
|
"stm32f10x_can.h"
|
||||||
|
@ -91,252 +91,252 @@
|
||||||
"stm32f10x_wwdg.h"
|
"stm32f10x_wwdg.h"
|
||||||
"misc.h"
|
"misc.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_adc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_adc.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_bkp.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_bkp.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_can.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_can.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_cec.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_cec.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_crc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_crc.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_dac.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_dac.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_dbgmcu.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_dbgmcu.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_dma.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_dma.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_exti.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_exti.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_flash.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_flash.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_fsmc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_fsmc.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_gpio.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_gpio.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_i2c.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_i2c.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_iwdg.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_iwdg.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_pwr.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_pwr.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_rcc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_rcc.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_rtc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_rtc.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_sdio.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_sdio.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_spi.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_spi.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_tim.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_tim.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_usart.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_usart.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_wwdg.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\stm32f10x_wwdg.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\misc.h
|
1485627607 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\inc\misc.h
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\misc.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\misc.c
|
||||||
"misc.h"
|
"misc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_adc.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_adc.c
|
||||||
"stm32f10x_adc.h"
|
"stm32f10x_adc.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_bkp.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_bkp.c
|
||||||
"stm32f10x_bkp.h"
|
"stm32f10x_bkp.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_can.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_can.c
|
||||||
"stm32f10x_can.h"
|
"stm32f10x_can.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_cec.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_cec.c
|
||||||
"stm32f10x_cec.h"
|
"stm32f10x_cec.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_crc.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_crc.c
|
||||||
"stm32f10x_crc.h"
|
"stm32f10x_crc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_dac.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_dac.c
|
||||||
"stm32f10x_dac.h"
|
"stm32f10x_dac.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_dbgmcu.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_dbgmcu.c
|
||||||
"stm32f10x_dbgmcu.h"
|
"stm32f10x_dbgmcu.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_dma.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_dma.c
|
||||||
"stm32f10x_dma.h"
|
"stm32f10x_dma.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_exti.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_exti.c
|
||||||
"stm32f10x_exti.h"
|
"stm32f10x_exti.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_flash.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_flash.c
|
||||||
"stm32f10x_flash.h"
|
"stm32f10x_flash.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_fsmc.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_fsmc.c
|
||||||
"stm32f10x_fsmc.h"
|
"stm32f10x_fsmc.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_gpio.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_gpio.c
|
||||||
"stm32f10x_gpio.h"
|
"stm32f10x_gpio.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1481973725 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\hooks.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\hooks.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_i2c.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_i2c.c
|
||||||
"stm32f10x_i2c.h"
|
"stm32f10x_i2c.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_iwdg.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_iwdg.c
|
||||||
"stm32f10x_iwdg.h"
|
"stm32f10x_iwdg.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_pwr.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_pwr.c
|
||||||
"stm32f10x_pwr.h"
|
"stm32f10x_pwr.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_rcc.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_rcc.c
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_rtc.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_rtc.c
|
||||||
"stm32f10x_rtc.h"
|
"stm32f10x_rtc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_sdio.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_sdio.c
|
||||||
"stm32f10x_sdio.h"
|
"stm32f10x_sdio.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_spi.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_spi.c
|
||||||
"stm32f10x_spi.h"
|
"stm32f10x_spi.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_tim.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_tim.c
|
||||||
"stm32f10x_tim.h"
|
"stm32f10x_tim.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_usart.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_usart.c
|
||||||
"stm32f10x_usart.h"
|
"stm32f10x_usart.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_wwdg.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\spl\src\stm32f10x_wwdg.c
|
||||||
"stm32f10x_wwdg.h"
|
"stm32f10x_wwdg.h"
|
||||||
"stm32f10x_rcc.h"
|
"stm32f10x_rcc.h"
|
||||||
|
|
||||||
1477581193 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\system_stm32f10x.c
|
1485627606 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\system_stm32f10x.c
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1479142742 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\startup_stm32f10x_md.s
|
1485627609 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\startup_stm32f10x_md.s
|
||||||
|
|
||||||
1477299900 source:c:\work\software\openblt\target\source\armcm3_stm32f1\can.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\can.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477299912 source:c:\work\software\openblt\target\source\armcm3_stm32f1\cpu.c
|
1493026570 source:c:\work\software\openblt\target\source\armcm3_stm32f1\cpu.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1481974446 source:c:\work\software\openblt\target\source\armcm3_stm32f1\flash.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\flash.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"flash_layout.c"
|
"flash_layout.c"
|
||||||
|
|
||||||
1477586072 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\flash_layout.c
|
1477586072 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\flash_layout.c
|
||||||
|
|
||||||
1477300021 source:c:\work\software\openblt\target\source\armcm3_stm32f1\gcc\cpu_comp.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\gcc\cpu_comp.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1481974007 source:c:\work\software\openblt\target\source\armcm3_stm32f1\nvm.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\nvm.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"flash.h"
|
"flash.h"
|
||||||
|
|
||||||
1481974267 c:\work\software\openblt\target\source\armcm3_stm32f1\flash.h
|
1485627342 c:\work\software\openblt\target\source\armcm3_stm32f1\flash.h
|
||||||
|
|
||||||
1477299955 source:c:\work\software\openblt\target\source\armcm3_stm32f1\timer.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\timer.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477299969 source:c:\work\software\openblt\target\source\armcm3_stm32f1\uart.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\uart.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477299976 source:c:\work\software\openblt\target\source\armcm3_stm32f1\usb.c
|
1485627342 source:c:\work\software\openblt\target\source\armcm3_stm32f1\usb.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
"usb_desc.h"
|
"usb_desc.h"
|
||||||
"usb_pwr.h"
|
"usb_pwr.h"
|
||||||
"usb_istr.h"
|
"usb_istr.h"
|
||||||
|
|
||||||
1477295250 source:c:\work\software\openblt\target\source\assert.c
|
1485627196 source:c:\work\software\openblt\target\source\assert.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1481971479 source:c:\work\software\openblt\target\source\backdoor.c
|
1485627195 source:c:\work\software\openblt\target\source\backdoor.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1476728156 source:c:\work\software\openblt\target\source\boot.c
|
1485627196 source:c:\work\software\openblt\target\source\boot.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469431756 source:c:\work\software\openblt\target\source\com.c
|
1485627342 source:c:\work\software\openblt\target\source\com.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"can.h"
|
"can.h"
|
||||||
"uart.h"
|
"uart.h"
|
||||||
"usb.h"
|
"usb.h"
|
||||||
"net.h"
|
"net.h"
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\can.h
|
1485627196 c:\work\software\openblt\target\source\can.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\uart.h
|
1485627342 c:\work\software\openblt\target\source\uart.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\usb.h
|
1485627194 c:\work\software\openblt\target\source\usb.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\net.h
|
1485627344 c:\work\software\openblt\target\source\net.h
|
||||||
|
|
||||||
1469431756 source:c:\work\software\openblt\target\source\cop.c
|
1485627343 source:c:\work\software\openblt\target\source\cop.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1481972707 source:c:\work\software\openblt\target\source\file.c
|
1493282507 source:c:\work\software\openblt\target\source\file.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
<string.h>
|
<string.h>
|
||||||
<ctype.h>
|
<ctype.h>
|
||||||
|
|
||||||
1469431757 source:c:\work\software\openblt\target\source\net.c
|
1485627344 source:c:\work\software\openblt\target\source\net.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"netdev.h"
|
"netdev.h"
|
||||||
"uip.h"
|
"uip.h"
|
||||||
"uip_arp.h"
|
"uip_arp.h"
|
||||||
|
|
||||||
1481972673 source:c:\work\software\openblt\target\source\xcp.c
|
1493026773 source:c:\work\software\openblt\target\source\xcp.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477597382 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\main.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\main.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
|
|
||||||
1474440718 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_core.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_core.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_lib.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_lib.h
|
||||||
"stm32l1xx.h"
|
"stm32l1xx.h"
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
"usb_type.h"
|
"usb_type.h"
|
||||||
|
@ -352,104 +352,104 @@
|
||||||
"otgd_fs_dev.h"
|
"otgd_fs_dev.h"
|
||||||
"otgd_fs_int.h"
|
"otgd_fs_int.h"
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_type.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_type.h
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
|
|
||||||
1474440714 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_conf.h
|
1485627604 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_conf.h
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_regs.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_regs.h
|
||||||
|
|
||||||
1474440721 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_def.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_def.h
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_core.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_core.h
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_init.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_init.h
|
||||||
|
|
||||||
1474440721 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_mem.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_mem.h
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_int.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_int.h
|
||||||
|
|
||||||
1474440719 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_sil.h
|
1485627605 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\inc\usb_sil.h
|
||||||
|
|
||||||
1474440718 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_init.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_init.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
|
|
||||||
1474440718 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_int.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_int.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
|
|
||||||
1474440718 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_mem.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_mem.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
|
|
||||||
1474440718 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_regs.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_regs.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
|
|
||||||
1474440718 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_sil.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\usb_fs_device\src\usb_sil.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
|
|
||||||
1474440727 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_desc.c
|
1485627609 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_desc.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
"usb_desc.h"
|
"usb_desc.h"
|
||||||
|
|
||||||
1474440728 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_desc.h
|
1485627609 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_desc.h
|
||||||
|
|
||||||
1474440714 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_endp.c
|
1485627604 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_endp.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
"usb_desc.h"
|
"usb_desc.h"
|
||||||
"usb_mem.h"
|
"usb_mem.h"
|
||||||
"usb_istr.h"
|
"usb_istr.h"
|
||||||
"usb_pwr.h"
|
"usb_pwr.h"
|
||||||
|
|
||||||
1474440714 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_istr.h
|
1485627604 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_istr.h
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
|
|
||||||
1474440727 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_pwr.h
|
1485627609 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_pwr.h
|
||||||
|
|
||||||
1474440728 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_istr.c
|
1485627609 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_istr.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
"usb_prop.h"
|
"usb_prop.h"
|
||||||
"usb_pwr.h"
|
"usb_pwr.h"
|
||||||
"usb_istr.h"
|
"usb_istr.h"
|
||||||
|
|
||||||
1474440714 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_prop.h
|
1485627604 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_prop.h
|
||||||
|
|
||||||
1474440728 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_prop.c
|
1485627609 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_prop.c
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
"usb_prop.h"
|
"usb_prop.h"
|
||||||
"usb_desc.h"
|
"usb_desc.h"
|
||||||
"usb_pwr.h"
|
"usb_pwr.h"
|
||||||
|
|
||||||
1474440715 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_pwr.c
|
1485627605 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\usb_pwr.c
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
"usb_lib.h"
|
"usb_lib.h"
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
"usb_pwr.h"
|
"usb_pwr.h"
|
||||||
"types.h"
|
"types.h"
|
||||||
|
|
||||||
1456841907 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
|
||||||
"integer.h"
|
"integer.h"
|
||||||
"ffconf.h"
|
"ffconf.h"
|
||||||
|
|
||||||
1453811453 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
|
||||||
<windows.h>
|
<windows.h>
|
||||||
<tchar.h>
|
<tchar.h>
|
||||||
|
|
||||||
1453811539 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\fatfs\ffconf.h
|
1493280503 c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\fatfs\ffconf.h
|
||||||
|
|
||||||
1477597860 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\fatfs\mmc.c
|
1493289317 source:c:\work\software\openblt\target\demo\armcm3_stm32f1_olimexino_stm32_gcc\boot\lib\fatfs\mmc.c
|
||||||
"diskio.h"
|
"diskio.h"
|
||||||
"stm32f10x.h"
|
"stm32f10x.h"
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1456841906 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
|
||||||
"integer.h"
|
"integer.h"
|
||||||
|
|
||||||
1477296647 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
|
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
|
||||||
"ff.h"
|
"ff.h"
|
||||||
"diskio.h"
|
"diskio.h"
|
||||||
<stdarg.h>
|
<stdarg.h>
|
||||||
|
|
||||||
1453811453 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
|
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
"cc932.c"
|
"cc932.c"
|
||||||
"cc936.c"
|
"cc936.c"
|
||||||
|
@ -457,18 +457,18 @@
|
||||||
"cc950.c"
|
"cc950.c"
|
||||||
"ccsbcs.c"
|
"ccsbcs.c"
|
||||||
|
|
||||||
1456841901 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<Device>
|
<Device>
|
||||||
<Add option="$device=cortex-m3" />
|
<Add option="$device=cortex-m3" />
|
||||||
<Add option="$lscript=./../cfg/stm32f103rb_flash.ld" />
|
<Add option="$lscript=./../cfg/stm32f103rb_flash.ld" />
|
||||||
<Add option="$stack=0x0400" />
|
<Add option="$stack=0x0800" />
|
||||||
<Add option="$heap=0x0000" />
|
<Add option="$heap=0x0000" />
|
||||||
</Device>
|
</Device>
|
||||||
<Compiler>
|
<Compiler>
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -23,6 +23,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -237,7 +249,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -291,7 +303,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -318,7 +330,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -347,7 +358,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,7 +423,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -481,10 +491,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -517,12 +527,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -551,7 +560,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -559,7 +567,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -657,26 +664,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -544,7 +544,7 @@
|
||||||
"stm32f2xx_conf.h"
|
"stm32f2xx_conf.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\stm32f2xx_conf.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\stm32f2xx_conf.h
|
||||||
"stm32f2xx_adc.h"
|
"stm32f2xx_adc.h"
|
||||||
"stm32f2xx_can.h"
|
"stm32f2xx_can.h"
|
||||||
"stm32f2xx_crc.h"
|
"stm32f2xx_crc.h"
|
||||||
|
@ -572,106 +572,106 @@
|
||||||
"stm32f2xx_wwdg.h"
|
"stm32f2xx_wwdg.h"
|
||||||
"misc.h"
|
"misc.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_adc.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_adc.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\stm32f2xx.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\stm32f2xx.h
|
||||||
"core_cm3.h"
|
"core_cm3.h"
|
||||||
"system_stm32f2xx.h"
|
"system_stm32f2xx.h"
|
||||||
<stdint.h>
|
<stdint.h>
|
||||||
"stm32f2xx_conf.h"
|
"stm32f2xx_conf.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\cmsis\core_cm3.h
|
1485627380 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\cmsis\core_cm3.h
|
||||||
<stdint.h>
|
<stdint.h>
|
||||||
<core_cmInstr.h>
|
<core_cmInstr.h>
|
||||||
<core_cmFunc.h>
|
<core_cmFunc.h>
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\cmsis\core_cminstr.h
|
1485627380 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\cmsis\core_cminstr.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\cmsis\core_cmfunc.h
|
1485627380 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\cmsis\core_cmfunc.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1469192680 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\system_stm32f2xx.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\system_stm32f2xx.h
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_can.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_can.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_crc.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_crc.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_cryp.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_cryp.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dac.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dac.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dbgmcu.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dbgmcu.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dcmi.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dcmi.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dma.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_dma.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_exti.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_exti.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_flash.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_flash.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_fsmc.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_fsmc.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_hash.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_hash.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_gpio.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_gpio.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_i2c.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_i2c.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_iwdg.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_iwdg.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_pwr.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_pwr.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_rcc.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_rcc.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_rng.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_rng.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_rtc.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_rtc.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_sdio.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_sdio.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_spi.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_spi.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_syscfg.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_syscfg.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_tim.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_tim.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_usart.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_usart.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_wwdg.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\stm32f2xx_wwdg.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\misc.h
|
1485627379 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\inc\misc.h
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469269322 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\led.h
|
1485627381 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\led.h
|
||||||
|
|
||||||
1452185785 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\app.h
|
1452185785 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\app.h
|
||||||
"assert.h"
|
"assert.h"
|
||||||
|
@ -684,124 +684,124 @@
|
||||||
1469268259 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\hw.c
|
1469268259 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\hw.c
|
||||||
"header.h"
|
"header.h"
|
||||||
|
|
||||||
1469269996 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\led.c
|
1485627377 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\led.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\misc.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\misc.c
|
||||||
"misc.h"
|
"misc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_adc.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_adc.c
|
||||||
"stm32f2xx_adc.h"
|
"stm32f2xx_adc.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_can.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_can.c
|
||||||
"stm32f2xx_can.h"
|
"stm32f2xx_can.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_crc.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_crc.c
|
||||||
"stm32f2xx_crc.h"
|
"stm32f2xx_crc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp.c
|
||||||
"stm32f2xx_cryp.h"
|
"stm32f2xx_cryp.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp_aes.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp_aes.c
|
||||||
"stm32f2xx_cryp.h"
|
"stm32f2xx_cryp.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp_des.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp_des.c
|
||||||
"stm32f2xx_cryp.h"
|
"stm32f2xx_cryp.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp_tdes.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_cryp_tdes.c
|
||||||
"stm32f2xx_cryp.h"
|
"stm32f2xx_cryp.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dac.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dac.c
|
||||||
"stm32f2xx_dac.h"
|
"stm32f2xx_dac.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dbgmcu.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dbgmcu.c
|
||||||
"stm32f2xx_dbgmcu.h"
|
"stm32f2xx_dbgmcu.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dcmi.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dcmi.c
|
||||||
"stm32f2xx_dcmi.h"
|
"stm32f2xx_dcmi.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dma.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_dma.c
|
||||||
"stm32f2xx_dma.h"
|
"stm32f2xx_dma.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_exti.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_exti.c
|
||||||
"stm32f2xx_exti.h"
|
"stm32f2xx_exti.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_flash.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_flash.c
|
||||||
"stm32f2xx_flash.h"
|
"stm32f2xx_flash.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_fsmc.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_fsmc.c
|
||||||
"stm32f2xx_fsmc.h"
|
"stm32f2xx_fsmc.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_gpio.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_gpio.c
|
||||||
"stm32f2xx_gpio.h"
|
"stm32f2xx_gpio.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_hash.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_hash.c
|
||||||
"stm32f2xx_hash.h"
|
"stm32f2xx_hash.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_hash_md5.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_hash_md5.c
|
||||||
"stm32f2xx_hash.h"
|
"stm32f2xx_hash.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_hash_sha1.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_hash_sha1.c
|
||||||
"stm32f2xx_hash.h"
|
"stm32f2xx_hash.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_i2c.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_i2c.c
|
||||||
"stm32f2xx_i2c.h"
|
"stm32f2xx_i2c.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_iwdg.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_iwdg.c
|
||||||
"stm32f2xx_iwdg.h"
|
"stm32f2xx_iwdg.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_pwr.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_pwr.c
|
||||||
"stm32f2xx_pwr.h"
|
"stm32f2xx_pwr.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_rcc.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_rcc.c
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_rng.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_rng.c
|
||||||
"stm32f2xx_rng.h"
|
"stm32f2xx_rng.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_rtc.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_rtc.c
|
||||||
"stm32f2xx_rtc.h"
|
"stm32f2xx_rtc.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_sdio.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_sdio.c
|
||||||
"stm32f2xx_sdio.h"
|
"stm32f2xx_sdio.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_spi.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_spi.c
|
||||||
"stm32f2xx_spi.h"
|
"stm32f2xx_spi.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_syscfg.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_syscfg.c
|
||||||
"stm32f2xx_syscfg.h"
|
"stm32f2xx_syscfg.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_tim.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_tim.c
|
||||||
"stm32f2xx_tim.h"
|
"stm32f2xx_tim.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_usart.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_usart.c
|
||||||
"stm32f2xx_usart.h"
|
"stm32f2xx_usart.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192681 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_wwdg.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\spl\src\stm32f2xx_wwdg.c
|
||||||
"stm32f2xx_wwdg.h"
|
"stm32f2xx_wwdg.h"
|
||||||
"stm32f2xx_rcc.h"
|
"stm32f2xx_rcc.h"
|
||||||
|
|
||||||
1469192680 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\system_stm32f2xx.c
|
1485627379 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\system_stm32f2xx.c
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1452185952 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\os.c
|
1452185952 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\os.c
|
||||||
|
@ -809,14 +809,14 @@
|
||||||
|
|
||||||
1469192680 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\startup_stm32f2xx.s
|
1469192680 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\startup_stm32f2xx.s
|
||||||
|
|
||||||
1476735414 source:c:\work\software\openblt\target\source\armcm3_stm32f2\gcc\cstart.s
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\gcc\cstart.s
|
||||||
|
|
||||||
1469648505 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\hooks.c
|
1485627377 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\hooks.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469435448 c:\work\software\openblt\target\source\boot.h
|
1485627342 c:\work\software\openblt\target\source\boot.h
|
||||||
"types.h"
|
"types.h"
|
||||||
"assert.h"
|
"assert.h"
|
||||||
"blt_conf.h"
|
"blt_conf.h"
|
||||||
|
@ -829,116 +829,118 @@
|
||||||
"file.h"
|
"file.h"
|
||||||
"com.h"
|
"com.h"
|
||||||
|
|
||||||
1469284395 c:\work\software\openblt\target\source\armcm3_stm32f2\types.h
|
1485627343 c:\work\software\openblt\target\source\armcm3_stm32f2\types.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\assert.h
|
1485627196 c:\work\software\openblt\target\source\assert.h
|
||||||
|
|
||||||
1475609651 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\\blt_conf.h
|
1485627381 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\\blt_conf.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\plausibility.h
|
1485627342 c:\work\software\openblt\target\source\plausibility.h
|
||||||
|
|
||||||
1476731768 c:\work\software\openblt\target\source\cpu.h
|
1493026658 c:\work\software\openblt\target\source\cpu.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\cop.h
|
1485627344 c:\work\software\openblt\target\source\cop.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\nvm.h
|
1485627196 c:\work\software\openblt\target\source\nvm.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\timer.h
|
1485627344 c:\work\software\openblt\target\source\timer.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\backdoor.h
|
1485627195 c:\work\software\openblt\target\source\backdoor.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\file.h
|
1485627343 c:\work\software\openblt\target\source\file.h
|
||||||
"ff.h"
|
"ff.h"
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\com.h
|
1485627343 c:\work\software\openblt\target\source\com.h
|
||||||
"xcp.h"
|
"xcp.h"
|
||||||
|
|
||||||
1475609171 c:\work\software\openblt\target\source\xcp.h
|
1493026917 c:\work\software\openblt\target\source\xcp.h
|
||||||
|
|
||||||
1476735355 source:c:\work\software\openblt\target\source\armcm3_stm32f2\cpu.c
|
1493026587 source:c:\work\software\openblt\target\source\armcm3_stm32f2\cpu.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469271534 source:c:\work\software\openblt\target\source\armcm3_stm32f2\flash.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\flash.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
"flash_layout.c"
|
||||||
|
|
||||||
1469435358 source:c:\work\software\openblt\target\source\armcm3_stm32f2\nvm.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\nvm.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"flash.h"
|
"flash.h"
|
||||||
|
|
||||||
1470741810 c:\work\software\openblt\target\source\armcm3_stm32f2\flash.h
|
1485627343 c:\work\software\openblt\target\source\armcm3_stm32f2\flash.h
|
||||||
|
|
||||||
1469290821 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\main.c
|
1485627377 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\main.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469435358 source:c:\work\software\openblt\target\source\armcm3_stm32f2\timer.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\timer.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469435358 source:c:\work\software\openblt\target\source\armcm3_stm32f2\uart.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\uart.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
|
|
||||||
1469435356 source:c:\work\software\openblt\target\source\assert.c
|
1485627196 source:c:\work\software\openblt\target\source\assert.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469435356 source:c:\work\software\openblt\target\source\backdoor.c
|
1485627195 source:c:\work\software\openblt\target\source\backdoor.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1476731756 source:c:\work\software\openblt\target\source\boot.c
|
1485627196 source:c:\work\software\openblt\target\source\boot.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469435356 source:c:\work\software\openblt\target\source\com.c
|
1485627342 source:c:\work\software\openblt\target\source\com.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"can.h"
|
"can.h"
|
||||||
"uart.h"
|
"uart.h"
|
||||||
"usb.h"
|
"usb.h"
|
||||||
"net.h"
|
"net.h"
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\can.h
|
1485627196 c:\work\software\openblt\target\source\can.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\uart.h
|
1485627342 c:\work\software\openblt\target\source\uart.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\usb.h
|
1485627194 c:\work\software\openblt\target\source\usb.h
|
||||||
|
|
||||||
1469435361 c:\work\software\openblt\target\source\net.h
|
1485627344 c:\work\software\openblt\target\source\net.h
|
||||||
|
|
||||||
1469435356 source:c:\work\software\openblt\target\source\cop.c
|
1485627343 source:c:\work\software\openblt\target\source\cop.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469284606 source:c:\work\software\openblt\target\source\file.c
|
1493282507 source:c:\work\software\openblt\target\source\file.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
<string.h>
|
<string.h>
|
||||||
<ctype.h>
|
<ctype.h>
|
||||||
|
|
||||||
1469435357 source:c:\work\software\openblt\target\source\xcp.c
|
1493026773 source:c:\work\software\openblt\target\source\xcp.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1456845507 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
|
||||||
"integer.h"
|
"integer.h"
|
||||||
"ffconf.h"
|
"ffconf.h"
|
||||||
|
|
||||||
1453815053 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
|
||||||
<windows.h>
|
<windows.h>
|
||||||
<tchar.h>
|
<tchar.h>
|
||||||
|
|
||||||
1453815156 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\fatfs\ffconf.h
|
1493280503 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\fatfs\ffconf.h
|
||||||
|
|
||||||
1469283277 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\fatfs\mmc.c
|
1493290294 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\lib\fatfs\mmc.c
|
||||||
"diskio.h"
|
"diskio.h"
|
||||||
"stm32f2xx.h"
|
"stm32f2xx.h"
|
||||||
"stm32f2xx_conf.h"
|
"stm32f2xx_conf.h"
|
||||||
|
"boot.h"
|
||||||
|
|
||||||
1456845506 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
|
||||||
"integer.h"
|
"integer.h"
|
||||||
|
|
||||||
1456845501 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
|
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
|
||||||
"ff.h"
|
"ff.h"
|
||||||
"diskio.h"
|
"diskio.h"
|
||||||
<stdarg.h>
|
<stdarg.h>
|
||||||
|
|
||||||
1453815053 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
|
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
"cc932.c"
|
"cc932.c"
|
||||||
"cc936.c"
|
"cc936.c"
|
||||||
|
@ -946,28 +948,28 @@
|
||||||
"cc950.c"
|
"cc950.c"
|
||||||
"ccsbcs.c"
|
"ccsbcs.c"
|
||||||
|
|
||||||
1456845501 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456845502 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456845502 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456845502 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456845502 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1469290576 source:c:\work\software\openblt\target\source\armcm3_stm32f2\can.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\can.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1476735258 source:c:\work\software\openblt\target\source\armcm3_stm32f2\gcc\cpu_comp.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm3_stm32f2\gcc\cpu_comp.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469435357 source:c:\work\software\openblt\target\source\net.c
|
1485627344 source:c:\work\software\openblt\target\source\net.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"netdev.h"
|
"netdev.h"
|
||||||
"uip.h"
|
"uip.h"
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<Device>
|
<Device>
|
||||||
<Add option="$device=cortex-m3" />
|
<Add option="$device=cortex-m3" />
|
||||||
<Add option="$lscript=..\..\..\..\Source\ARMCM3_STM32F2\GCC\memory.x" />
|
<Add option="$lscript=..\..\..\..\Source\ARMCM3_STM32F2\GCC\memory.x" />
|
||||||
<Add option="$stack=0x0100" />
|
<Add option="$stack=0x0800" />
|
||||||
<Add option="$heap=0x0000" />
|
<Add option="$heap=0x0000" />
|
||||||
</Device>
|
</Device>
|
||||||
<Compiler>
|
<Compiler>
|
||||||
|
|
|
@ -3,12 +3,17 @@
|
||||||
<ActiveTarget name="Debug" />
|
<ActiveTarget name="Debug" />
|
||||||
<File name="..\blt_conf.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="..\blt_conf.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="1558" topLine="93" />
|
<Cursor1 position="5338" topLine="69" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="..\lib\SPL\src\stm32f2xx_adc.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="50838" topLine="1279" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="..\main.c" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="..\main.c" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="2953" topLine="24" />
|
<Cursor1 position="2697" topLine="24" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="..\..\..\..\Source\ARMCM3_STM32F2\GCC\cstart.S" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="..\..\..\..\Source\ARMCM3_STM32F2\GCC\cstart.S" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -21,8 +21,21 @@
|
||||||
#include "diskio.h"
|
#include "diskio.h"
|
||||||
#include "stm32f2xx.h" /* STM32 registers */
|
#include "stm32f2xx.h" /* STM32 registers */
|
||||||
#include "stm32f2xx_conf.h" /* STM32 peripheral drivers */
|
#include "stm32f2xx_conf.h" /* STM32 peripheral drivers */
|
||||||
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -63,9 +76,6 @@
|
||||||
static volatile
|
static volatile
|
||||||
DSTATUS Stat = STA_NOINIT; /* Disk status */
|
DSTATUS Stat = STA_NOINIT; /* Disk status */
|
||||||
|
|
||||||
static volatile
|
|
||||||
UINT Timer1, Timer2; /* 1000Hz decrement timer */
|
|
||||||
|
|
||||||
static
|
static
|
||||||
UINT CardType;
|
UINT CardType;
|
||||||
|
|
||||||
|
@ -247,11 +257,14 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
/* set timeout for 500 ms from now */
|
||||||
|
timeOutTime = TimerGet() + 500;
|
||||||
|
|
||||||
Timer2 = 500; /* Wait for ready in timeout of 500ms */
|
|
||||||
do {
|
do {
|
||||||
d = xchg_spi(0xFF);
|
d = xchg_spi(0xFF);
|
||||||
} while ((d != 0xFF) && Timer2);
|
} while ((d != 0xFF) && (TimerGet() < timeOutTime));
|
||||||
|
|
||||||
return (d == 0xFF) ? 1 : 0;
|
return (d == 0xFF) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
@ -298,12 +311,14 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
/* set timeout for 100 ms from now */
|
||||||
|
timeOutTime = TimerGet() + 100;
|
||||||
|
|
||||||
Timer1 = 100;
|
|
||||||
do { /* Wait for data packet in timeout of 100ms */
|
do { /* Wait for data packet in timeout of 100ms */
|
||||||
token = xchg_spi(0xFF);
|
token = xchg_spi(0xFF);
|
||||||
} while ((token == 0xFF) && Timer1);
|
} while ((token == 0xFF) && (TimerGet() < timeOutTime));
|
||||||
|
|
||||||
if(token != 0xFE) return 0; /* If not valid data token, retutn with error */
|
if(token != 0xFE) return 0; /* If not valid data token, retutn with error */
|
||||||
|
|
||||||
|
@ -323,7 +338,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -352,7 +366,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -418,6 +431,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -429,12 +443,13 @@ DSTATUS disk_initialize (
|
||||||
|
|
||||||
ty = 0;
|
ty = 0;
|
||||||
if (send_cmd(CMD0, 0) == 1) { /* Enter Idle state */
|
if (send_cmd(CMD0, 0) == 1) { /* Enter Idle state */
|
||||||
Timer1 = 1000; /* Initialization timeout of 1000 msec */
|
timeOutTime = TimerGet() + 1000; /* Initialization timeout of 1000 msec */
|
||||||
|
|
||||||
if (send_cmd(CMD8, 0x1AA) == 1) { /* SDv2? */
|
if (send_cmd(CMD8, 0x1AA) == 1) { /* SDv2? */
|
||||||
for (n = 0; n < 4; n++) ocr[n] = xchg_spi(0xFF); /* Get trailing return value of R7 resp */
|
for (n = 0; n < 4; n++) ocr[n] = xchg_spi(0xFF); /* Get trailing return value of R7 resp */
|
||||||
if (ocr[2] == 0x01 && ocr[3] == 0xAA) { /* The card can work at vdd range of 2.7-3.6V */
|
if (ocr[2] == 0x01 && ocr[3] == 0xAA) { /* The card can work at vdd range of 2.7-3.6V */
|
||||||
while (Timer1 && send_cmd(ACMD41, 0x40000000)); /* Wait for leaving idle state (ACMD41 with HCS bit) */
|
while ((TimerGet() < timeOutTime) && send_cmd(ACMD41, 0x40000000)); /* Wait for leaving idle state (ACMD41 with HCS bit) */
|
||||||
if (Timer1 && send_cmd(CMD58, 0) == 0) { /* Check CCS bit in the OCR */
|
if ((TimerGet() < timeOutTime) && send_cmd(CMD58, 0) == 0) { /* Check CCS bit in the OCR */
|
||||||
for (n = 0; n < 4; n++) ocr[n] = xchg_spi(0xFF);
|
for (n = 0; n < 4; n++) ocr[n] = xchg_spi(0xFF);
|
||||||
ty = (ocr[0] & 0x40) ? CT_SD2|CT_BLOCK : CT_SD2; /* SDv2 */
|
ty = (ocr[0] & 0x40) ? CT_SD2|CT_BLOCK : CT_SD2; /* SDv2 */
|
||||||
}
|
}
|
||||||
|
@ -445,8 +460,8 @@ DSTATUS disk_initialize (
|
||||||
} else {
|
} else {
|
||||||
ty = CT_MMC; cmd = CMD1; /* MMCv3 */
|
ty = CT_MMC; cmd = CMD1; /* MMCv3 */
|
||||||
}
|
}
|
||||||
while (Timer1 && send_cmd(cmd, 0)); /* Wait for leaving idle state */
|
while ((TimerGet() < timeOutTime) && send_cmd(cmd, 0)); /* Wait for leaving idle state */
|
||||||
if (!Timer1 || send_cmd(CMD16, 512) != 0) /* Set read/write block length to 512 */
|
if (!(TimerGet() < timeOutTime) || send_cmd(CMD16, 512) != 0) /* Set read/write block length to 512 */
|
||||||
ty = 0;
|
ty = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -484,10 +499,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -520,12 +535,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -554,7 +568,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -562,7 +575,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -660,40 +672,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------*/
|
|
||||||
/* Device Timer Driven Procedure */
|
|
||||||
/*-----------------------------------------------------------------------*/
|
|
||||||
/* This function must be called by timer interrupt in period of 1ms */
|
|
||||||
|
|
||||||
void disk_timerproc(void)
|
|
||||||
{
|
|
||||||
UINT n;
|
|
||||||
|
|
||||||
n = Timer1; /* 1000Hz decrement timer with zero stopped */
|
|
||||||
if (n) Timer1 = --n;
|
|
||||||
n = Timer2;
|
|
||||||
if (n) Timer2 = --n;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE CrossStudio_Project_File>
|
<!DOCTYPE CrossStudio_Project_File>
|
||||||
<solution Name="stm32f407_crossworks" target="8" version="2">
|
<solution Name="stm32f407_crossworks" target="8" version="2">
|
||||||
<project Name="openblt_olimex_stm32e407">
|
<project Name="openblt_olimex_stm32e407">
|
||||||
<configuration Name="Common" Placement="Flash" Target="STM32F407ZG" arm_architecture="v7EM" arm_core_type="Cortex-M4" arm_fp_abi="Soft" arm_fpu_type="FPv4-SP-D16" arm_gcc_target="arm-unknown-eabi" arm_keep_assembly="No" arm_linker_heap_size="128" arm_linker_jtag_pad_pre_dr="1" arm_linker_jtag_pad_pre_ir="5" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="No" arm_simulator_memory_simulation_filename="$(TargetsDir)/STM32/STM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="STM32F407ZG;0x100000;0x20000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="Default" arm_target_loader_applicable_loaders="Flash" arm_target_loader_default_loader="Flash" arm_target_loader_parameter="8000000" arm_use_gcc_libraries="Yes" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(ProjectDir)/../bin" c_only_additional_options="-I./..;-I./../lib/ethernetlib/inc;-I./../lib/ethernetlib/src;-I./../lib/uip;-I./../lib/stdperiphlib;-I./../lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include;-I./../lib/stdperiphlib/CMSIS/Include;-I./../lib/fatfs;-I./../lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc;-I./../lib/usbdevicelib/Core/inc;-I./../lib/usbdevicelib/Core/src;-I./../lib/usbotgdriver/inc;-I./../lib/usbotgdriver/src;-I./../../../../Source;-I./../../../../Source/ARMCM4_STM32F4;-I./../../../../Source/third_party/fatfs/src;-I./../../../../Source/third_party/uip/uip" c_preprocessor_definitions="USE_STDPERIPH_DRIVER;USE_USB_OTG_FS;HSE_VALUE=12000000;VECT_TAB_FLASH" c_user_include_directories="$(TargetsDir)/STM32/include" gcc_optimization_level="Level 2" link_IOLibraryName="target" link_include_standard_libraries="Yes" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/STM32/STM32F407ZG_MemoryMap.xml" linker_output_format="srec" linker_printf_enabled="No" linker_printf_width_precision_supported="No" linker_scanf_enabled="No" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" oscillator_frequency="8MHz" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/STM32/propertyGroups.xml" target_get_partname_script="GetPartName()" target_match_partname_script="MatchPartName("$(Target)")" target_reset_script="Reset()"/>
|
<configuration Name="Common" Placement="Flash" Target="STM32F407ZG" arm_architecture="v7EM" arm_core_type="Cortex-M4" arm_fp_abi="Soft" arm_fpu_type="FPv4-SP-D16" arm_gcc_target="arm-unknown-eabi" arm_keep_assembly="No" arm_linker_heap_size="128" arm_linker_jtag_pad_pre_dr="1" arm_linker_jtag_pad_pre_ir="5" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="No" arm_simulator_memory_simulation_filename="$(TargetsDir)/STM32/STM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="STM32F407ZG;0x100000;0x20000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="Default" arm_target_loader_applicable_loaders="Flash" arm_target_loader_default_loader="Flash" arm_target_loader_parameter="8000000" arm_use_gcc_libraries="Yes" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(ProjectDir)/../bin" c_only_additional_options="-I./..;-I./../lib/ethernetlib/inc;-I./../lib/ethernetlib/src;-I./../lib/uip;-I./../lib/stdperiphlib;-I./../lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include;-I./../lib/stdperiphlib/CMSIS/Include;-I./../lib/fatfs;-I./../lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc;-I./../lib/usbdevicelib/Core/inc;-I./../lib/usbdevicelib/Core/src;-I./../lib/usbotgdriver/inc;-I./../lib/usbotgdriver/src;-I./../../../../Source;-I./../../../../Source/ARMCM4_STM32F4;-I./../../../../Source/third_party/fatfs/src;-I./../../../../Source/third_party/uip/uip" c_preprocessor_definitions="USE_STDPERIPH_DRIVER;USE_USB_OTG_FS;HSE_VALUE=12000000;VECT_TAB_FLASH;STM32F4XX" c_user_include_directories="$(TargetsDir)/STM32/include" gcc_optimization_level="Level 2" link_IOLibraryName="target" link_include_standard_libraries="Yes" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/STM32/STM32F407ZG_MemoryMap.xml" linker_output_format="srec" linker_printf_enabled="No" linker_printf_width_precision_supported="No" linker_scanf_enabled="No" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" oscillator_frequency="8MHz" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/STM32/propertyGroups.xml" target_get_partname_script="GetPartName()" target_match_partname_script="MatchPartName("$(Target)")" target_reset_script="Reset()"/>
|
||||||
<configuration Name="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/STM32/Release/STM32F2xx_Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" arm_target_loader_can_erase_all="Yes" arm_target_loader_can_lock_all="No" arm_target_loader_can_lock_range="No" arm_target_loader_can_unlock_all="No" arm_target_loader_can_unlock_range="No" target_reset_script="FLASHReset()"/>
|
<configuration Name="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/STM32/Release/STM32F2xx_Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" arm_target_loader_can_erase_all="Yes" arm_target_loader_can_lock_all="No" arm_target_loader_can_lock_range="No" arm_target_loader_can_unlock_all="No" arm_target_loader_can_unlock_range="No" target_reset_script="FLASHReset()"/>
|
||||||
<folder Name="Source Files">
|
<folder Name="Source Files">
|
||||||
<configuration Name="Common" filter="c;cpp;cxx;cc;h;s;asm;inc"/>
|
<configuration Name="Common" filter="c;cpp;cxx;cc;h;s;asm;inc"/>
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files" name="unnamed" />
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files;Demo" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files;Demo" name="unnamed" />
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files;Demo;Boot" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files;Demo;Boot" name="unnamed" />
|
||||||
|
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files;Demo;Boot;lib" name="unnamed" />
|
||||||
|
<ProjectSessionItem path="stm32f407_crossworks;openblt_olimex_stm32e407;Source Files;Demo;Boot;lib;stdperiphlib" name="unnamed" />
|
||||||
</Project>
|
</Project>
|
||||||
<Register1>
|
<Register1>
|
||||||
<RegisterWindow openNodes="CPU" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU" decimalNodes="" octalNodes="" asciiNodes="" name="openbtl_olimex_stm32e407" />
|
<RegisterWindow openNodes="CPU" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU" decimalNodes="" octalNodes="" asciiNodes="" name="openbtl_olimex_stm32e407" />
|
||||||
|
@ -56,9 +58,9 @@
|
||||||
</TraceWindow>
|
</TraceWindow>
|
||||||
<Watch1>
|
<Watch1>
|
||||||
<Watches active="1" update="Never" >
|
<Watches active="1" update="Never" >
|
||||||
<Watchpoint linenumber="124" radix="-1" name="free_running_counter_now" expression="free_running_counter_now" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
|
||||||
<Watchpoint linenumber="152" radix="-1" name="free_running_counter_accumulative" expression="free_running_counter_accumulative" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
|
||||||
<Watchpoint linenumber="121" radix="-1" name="free_running_counter_last" expression="free_running_counter_last" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
<Watchpoint linenumber="121" radix="-1" name="free_running_counter_last" expression="free_running_counter_last" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||||
|
<Watchpoint linenumber="152" radix="-1" name="free_running_counter_accumulative" expression="free_running_counter_accumulative" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||||
|
<Watchpoint linenumber="124" radix="-1" name="free_running_counter_now" expression="free_running_counter_now" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||||
</Watches>
|
</Watches>
|
||||||
</Watch1>
|
</Watch1>
|
||||||
<Watch2>
|
<Watch2>
|
||||||
|
@ -71,7 +73,7 @@
|
||||||
<Watches active="0" update="Never" />
|
<Watches active="0" update="Never" />
|
||||||
</Watch4>
|
</Watch4>
|
||||||
<Files>
|
<Files>
|
||||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Boot\main.c" y="49" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Boot\main.c" left="0" selected="1" name="unnamed" top="5" />
|
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Users\voorburg\Desktop\BltTest\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Boot\main.c" y="0" path="C:\Users\voorburg\Desktop\BltTest\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Boot\main.c" left="0" selected="1" name="unnamed" top="0" />
|
||||||
</Files>
|
</Files>
|
||||||
<ARMCrossStudioWindow activeProject="openblt_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\ARMCM4_STM32F4\Crossworks" fileDialogDefaultFilter="*.c" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
<ARMCrossStudioWindow activeProject="openblt_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\ARMCM4_STM32F4\Crossworks" fileDialogDefaultFilter="*.c" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
||||||
</session>
|
</session>
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -3186,7 +3186,7 @@ DSTATUS disk_status (BYTE drv)
|
||||||
* \param sector: start sector number (LBA)
|
* \param sector: start sector number (LBA)
|
||||||
* \param count: sector count
|
* \param count: sector count
|
||||||
*/
|
*/
|
||||||
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, BYTE count)
|
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, UINT count)
|
||||||
{
|
{
|
||||||
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
||||||
SD_Error sdstatus = SD_OK;
|
SD_Error sdstatus = SD_OK;
|
||||||
|
@ -3274,8 +3274,7 @@ DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, BYTE count)
|
||||||
* \param count: Sector count (1..255)
|
* \param count: Sector count (1..255)
|
||||||
* \note this function needs DMA access and is disabled if _READONLY is set
|
* \note this function needs DMA access and is disabled if _READONLY is set
|
||||||
*/
|
*/
|
||||||
#if _READONLY == 0
|
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, UINT count)
|
||||||
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
|
|
||||||
{
|
{
|
||||||
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
||||||
SD_Error sdstatus = SD_OK;
|
SD_Error sdstatus = SD_OK;
|
||||||
|
@ -3359,7 +3358,6 @@ DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
|
||||||
|
|
||||||
return RES_ERROR;
|
return RES_ERROR;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief ioctl implementation
|
* \brief ioctl implementation
|
||||||
|
@ -3416,19 +3414,8 @@ DRESULT disk_ioctl(BYTE drv, BYTE ctrl, void *buff)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief user provided timer function for FatFs module
|
|
||||||
*/
|
|
||||||
DWORD get_fattime(void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************* end of mmc.c ****************************************/
|
/********************************* end of mmc.c ****************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE CrossStudio_Project_File>
|
<!DOCTYPE CrossStudio_Project_File>
|
||||||
<solution Name="stm32f407_crossworks" target="8" version="2">
|
<solution Name="stm32f407_crossworks" target="8" version="2">
|
||||||
<project Name="demoprog_olimex_stm32e407">
|
<project Name="demoprog_olimex_stm32e407">
|
||||||
<configuration Name="Common" Placement="Flash" Target="STM32F407ZG" arm_architecture="v7EM" arm_core_type="Cortex-M4" arm_fpu_type="FPv4-SP-D16" arm_gcc_target="arm-unknown-eabi" arm_linker_heap_size="128" arm_linker_jtag_pad_pre_dr="1" arm_linker_jtag_pad_pre_ir="5" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_simulator_memory_simulation_filename="$(TargetsDir)/STM32/STM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="STM32F407ZG;0x100000;0x20000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="Default" arm_target_loader_applicable_loaders="Flash" arm_target_loader_default_loader="Flash" arm_target_loader_parameter="8000000" arm_use_gcc_libraries="Yes" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(ProjectDir)/../bin" c_only_additional_options="-I./..;-I./../lib/ethernetlib/inc;-I./../lib/ethernetlib/src;-I./../lib/uip;-I./../lib/stdperiphlib;-I./../lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include;-I./../lib/stdperiphlib/CMSIS/Include;-I./../lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc;-I./../../../../Source/third_party/uip/uip" c_preprocessor_definitions="USE_STDPERIPH_DRIVER;HSE_VALUE=12000000;VECT_TAB_FLASH" c_user_include_directories="$(TargetsDir)/STM32/include" gcc_optimization_level="Level 1" link_IOLibraryName="target" link_include_standard_libraries="Yes" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/STM32/STM32F407ZG_MemoryMap.xml" linker_output_format="srec" linker_printf_enabled="No" linker_printf_width_precision_supported="No" linker_scanf_enabled="No" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" oscillator_frequency="8MHz" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/STM32/propertyGroups.xml" target_get_partname_script="GetPartName()" target_match_partname_script="MatchPartName("$(Target)")" target_reset_script="Reset()"/>
|
<configuration Name="Common" Placement="Flash" Target="STM32F407ZG" arm_architecture="v7EM" arm_core_type="Cortex-M4" arm_fpu_type="FPv4-SP-D16" arm_gcc_target="arm-unknown-eabi" arm_linker_heap_size="128" arm_linker_jtag_pad_pre_dr="1" arm_linker_jtag_pad_pre_ir="5" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_simulator_memory_simulation_filename="$(TargetsDir)/STM32/STM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="STM32F407ZG;0x100000;0x20000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="Default" arm_target_loader_applicable_loaders="Flash" arm_target_loader_default_loader="Flash" arm_target_loader_parameter="8000000" arm_use_gcc_libraries="Yes" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(ProjectDir)/../bin" c_only_additional_options="-I./..;-I./../lib/ethernetlib/inc;-I./../lib/ethernetlib/src;-I./../lib/uip;-I./../lib/stdperiphlib;-I./../lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include;-I./../lib/stdperiphlib/CMSIS/Include;-I./../lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc;-I./../../../../Source/third_party/uip/uip" c_preprocessor_definitions="USE_STDPERIPH_DRIVER;HSE_VALUE=12000000;VECT_TAB_FLASH;STM32F4XX" c_user_include_directories="$(TargetsDir)/STM32/include" gcc_optimization_level="Level 1" link_IOLibraryName="target" link_include_standard_libraries="Yes" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/STM32/STM32F407ZG_MemoryMap.xml" linker_output_format="srec" linker_printf_enabled="No" linker_printf_width_precision_supported="No" linker_scanf_enabled="No" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" oscillator_frequency="8MHz" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/STM32/propertyGroups.xml" target_get_partname_script="GetPartName()" target_match_partname_script="MatchPartName("$(Target)")" target_reset_script="Reset()"/>
|
||||||
<configuration Name="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/STM32/Release/STM32F2xx_Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" arm_target_loader_can_erase_all="Yes" arm_target_loader_can_lock_all="No" arm_target_loader_can_lock_range="No" arm_target_loader_can_unlock_all="No" arm_target_loader_can_unlock_range="No" target_reset_script="FLASHReset()"/>
|
<configuration Name="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/STM32/Release/STM32F2xx_Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" arm_target_loader_can_erase_all="Yes" arm_target_loader_can_lock_all="No" arm_target_loader_can_lock_range="No" arm_target_loader_can_unlock_all="No" arm_target_loader_can_unlock_range="No" target_reset_script="FLASHReset()"/>
|
||||||
<folder Name="Source Files">
|
<folder Name="Source Files">
|
||||||
<configuration Name="Common" filter="c;cpp;cxx;cc;h;s;asm;inc"/>
|
<configuration Name="Common" filter="c;cpp;cxx;cc;h;s;asm;inc"/>
|
||||||
|
|
|
@ -27,7 +27,8 @@
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files" name="unnamed" />
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files;Demo" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files;Demo" name="unnamed" />
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files;Demo;Prog" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files;Demo;Prog" name="unnamed" />
|
||||||
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;System Files" name="unnamed" />
|
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files;Demo;Prog;lib" name="unnamed" />
|
||||||
|
<ProjectSessionItem path="stm32f407_crossworks;demoprog_olimex_stm32e407;Source Files;Demo;Prog;lib;stdperiphlib" name="unnamed" />
|
||||||
</Project>
|
</Project>
|
||||||
<Register1>
|
<Register1>
|
||||||
<RegisterWindow openNodes="CPU" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU" decimalNodes="" octalNodes="" asciiNodes="" name="demoprog_olimex_stm32e407" />
|
<RegisterWindow openNodes="CPU" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU" decimalNodes="" octalNodes="" asciiNodes="" name="demoprog_olimex_stm32e407" />
|
||||||
|
@ -51,9 +52,9 @@
|
||||||
</TraceWindow>
|
</TraceWindow>
|
||||||
<Watch1>
|
<Watch1>
|
||||||
<Watches active="1" update="Never" >
|
<Watches active="1" update="Never" >
|
||||||
<Watchpoint linenumber="121" radix="-1" name="free_running_counter_last" expression="free_running_counter_last" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
|
||||||
<Watchpoint linenumber="152" radix="-1" name="free_running_counter_accumulative" expression="free_running_counter_accumulative" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
|
||||||
<Watchpoint linenumber="124" radix="-1" name="free_running_counter_now" expression="free_running_counter_now" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
<Watchpoint linenumber="124" radix="-1" name="free_running_counter_now" expression="free_running_counter_now" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||||
|
<Watchpoint linenumber="152" radix="-1" name="free_running_counter_accumulative" expression="free_running_counter_accumulative" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||||
|
<Watchpoint linenumber="121" radix="-1" name="free_running_counter_last" expression="free_running_counter_last" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||||
</Watches>
|
</Watches>
|
||||||
</Watch1>
|
</Watch1>
|
||||||
<Watch2>
|
<Watch2>
|
||||||
|
@ -66,7 +67,7 @@
|
||||||
<Watches active="0" update="Never" />
|
<Watches active="0" update="Never" />
|
||||||
</Watch4>
|
</Watch4>
|
||||||
<Files>
|
<Files>
|
||||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Prog\main.c" y="0" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Prog\main.c" left="18" selected="1" name="unnamed" top="0" />
|
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="67" debugPath="C:\Users\voorburg\Desktop\BltTest\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Prog\main.c" y="5" path="C:\Users\voorburg\Desktop\BltTest\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_Crossworks\Prog\main.c" left="0" selected="1" name="unnamed" top="0" />
|
||||||
</Files>
|
</Files>
|
||||||
<ARMCrossStudioWindow activeProject="demoprog_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\third_party\uip\uip" fileDialogDefaultFilter="*.c" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
<ARMCrossStudioWindow activeProject="demoprog_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\third_party\uip\uip" fileDialogDefaultFilter="*.c" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
||||||
</session>
|
</session>
|
||||||
|
|
Binary file not shown.
|
@ -7,40 +7,40 @@ start address 0x08000000
|
||||||
|
|
||||||
Program Header:
|
Program Header:
|
||||||
LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15
|
LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15
|
||||||
filesz 0x0000a088 memsz 0x0000a088 flags r-x
|
filesz 0x0000a1a0 memsz 0x0000a1a0 flags r-x
|
||||||
LOAD off 0x00018000 vaddr 0x20000000 paddr 0x0800a088 align 2**15
|
LOAD off 0x00018000 vaddr 0x20000000 paddr 0x0800a1a0 align 2**15
|
||||||
filesz 0x000000ec memsz 0x000000ec flags rw-
|
filesz 0x000000ec memsz 0x000000ec flags rw-
|
||||||
LOAD off 0x00018100 vaddr 0x20000100 paddr 0x0800a200 align 2**15
|
LOAD off 0x00018100 vaddr 0x20000100 paddr 0x0800a300 align 2**15
|
||||||
filesz 0x00000000 memsz 0x00003564 flags rw-
|
filesz 0x00000000 memsz 0x00003564 flags rw-
|
||||||
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
|
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
|
||||||
|
|
||||||
Sections:
|
Sections:
|
||||||
Idx Name Size VMA LMA File off Algn
|
Idx Name Size VMA LMA File off Algn
|
||||||
0 .text 0000a088 08000000 08000000 00008000 2**2
|
0 .text 0000a1a0 08000000 08000000 00008000 2**2
|
||||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||||
1 .data 000000ec 20000000 0800a088 00018000 2**2
|
1 .data 000000ec 20000000 0800a1a0 00018000 2**2
|
||||||
CONTENTS, ALLOC, LOAD, DATA
|
CONTENTS, ALLOC, LOAD, DATA
|
||||||
2 .bss 00003564 20000100 0800a200 00018100 2**7
|
2 .bss 00003564 20000100 0800a300 00018100 2**7
|
||||||
ALLOC
|
ALLOC
|
||||||
3 .debug_info 0001fcd0 00000000 00000000 000180ec 2**0
|
3 .debug_info 00020b3d 00000000 00000000 000180ec 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
4 .debug_abbrev 0000540f 00000000 00000000 00037dbc 2**0
|
4 .debug_abbrev 00005463 00000000 00000000 00038c29 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
5 .debug_loc 0000f535 00000000 00000000 0003d1cb 2**0
|
5 .debug_loc 0000ffde 00000000 00000000 0003e08c 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
6 .debug_aranges 000015a0 00000000 00000000 0004c700 2**0
|
6 .debug_aranges 000015a0 00000000 00000000 0004e06a 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
7 .debug_ranges 00001458 00000000 00000000 0004dca0 2**0
|
7 .debug_ranges 00001460 00000000 00000000 0004f60a 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
8 .debug_line 00007b4e 00000000 00000000 0004f0f8 2**0
|
8 .debug_line 00007d1e 00000000 00000000 00050a6a 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
9 .debug_str 00007422 00000000 00000000 00056c46 2**0
|
9 .debug_str 0000745f 00000000 00000000 00058788 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
10 .comment 00000030 00000000 00000000 0005e068 2**0
|
10 .comment 00000030 00000000 00000000 0005fbe7 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
11 .ARM.attributes 00000033 00000000 00000000 0005e098 2**0
|
11 .ARM.attributes 00000033 00000000 00000000 0005fc17 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
12 .debug_frame 00003758 00000000 00000000 0005e0cc 2**2
|
12 .debug_frame 00003780 00000000 00000000 0005fc4c 2**2
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
SYMBOL TABLE:
|
SYMBOL TABLE:
|
||||||
08000000 l d .text 00000000 .text
|
08000000 l d .text 00000000 .text
|
||||||
|
@ -58,57 +58,57 @@ SYMBOL TABLE:
|
||||||
00000000 l d .debug_frame 00000000 .debug_frame
|
00000000 l d .debug_frame 00000000 .debug_frame
|
||||||
00000000 l df *ABS* 00000000 vectors.c
|
00000000 l df *ABS* 00000000 vectors.c
|
||||||
00000000 l df *ABS* 00000000 hooks.c
|
00000000 l df *ABS* 00000000 hooks.c
|
||||||
08009650 l O .text 00000020 firmwareFilename
|
08009874 l O .text 00000020 firmwareFilename
|
||||||
20000100 l O .bss 00000228 logfile
|
20000100 l O .bss 0000022c logfile
|
||||||
00000000 l df *ABS* 00000000 main.c
|
00000000 l df *ABS* 00000000 main.c
|
||||||
00000000 l df *ABS* 00000000 usbd_bulk.c
|
00000000 l df *ABS* 00000000 usbd_bulk.c
|
||||||
080003dc l F .text 0000000e USBD_bulk_GetCfgDesc
|
080003d8 l F .text 0000000e USBD_bulk_GetCfgDesc
|
||||||
080003ec l F .text 00000012 usbd_bulk_SOF
|
080003e8 l F .text 00000012 usbd_bulk_SOF
|
||||||
08000400 l F .text 0000000a usbd_bulk_DataIn
|
080003fc l F .text 0000000a usbd_bulk_DataIn
|
||||||
0800040c l F .text 0000000c usbd_bulk_DataOut
|
08000408 l F .text 0000000c usbd_bulk_DataOut
|
||||||
08000418 l F .text 00000068 usbd_bulk_Setup
|
08000414 l F .text 00000068 usbd_bulk_Setup
|
||||||
08000480 l F .text 00000016 usbd_bulk_DeInit
|
0800047c l F .text 00000016 usbd_bulk_DeInit
|
||||||
08000498 l F .text 00000030 usbd_bulk_Init
|
08000494 l F .text 00000030 usbd_bulk_Init
|
||||||
20000328 l O .bss 00000004 usbd_bulk_AltSet
|
2000032c l O .bss 00000004 usbd_bulk_AltSet
|
||||||
00000000 l df *ABS* 00000000 usbd_desc.c
|
00000000 l df *ABS* 00000000 usbd_desc.c
|
||||||
00000000 l df *ABS* 00000000 usbd_usr.c
|
00000000 l df *ABS* 00000000 usbd_usr.c
|
||||||
00000000 l df *ABS* 00000000 usb_bsp.c
|
00000000 l df *ABS* 00000000 usb_bsp.c
|
||||||
00000000 l df *ABS* 00000000 usbd_core.c
|
00000000 l df *ABS* 00000000 usbd_core.c
|
||||||
080006a4 l F .text 00000016 USBD_Resume
|
080006a0 l F .text 00000016 USBD_Resume
|
||||||
080006bc l F .text 0000001c USBD_Suspend
|
080006b8 l F .text 0000001c USBD_Suspend
|
||||||
080006d8 l F .text 00000010 USBD_SOF
|
080006d4 l F .text 00000010 USBD_SOF
|
||||||
080006e8 l F .text 0000000e USBD_IsoINIncomplete
|
080006e4 l F .text 0000000e USBD_IsoINIncomplete
|
||||||
080006f8 l F .text 0000000e USBD_IsoOUTIncomplete
|
080006f4 l F .text 0000000e USBD_IsoOUTIncomplete
|
||||||
08000708 l F .text 00000016 USBD_DevConnected
|
08000704 l F .text 00000016 USBD_DevConnected
|
||||||
08000720 l F .text 00000020 USBD_DevDisconnected
|
0800071c l F .text 00000020 USBD_DevDisconnected
|
||||||
08000740 l F .text 0000002e USBD_Reset
|
0800073c l F .text 0000002e USBD_Reset
|
||||||
08000770 l F .text 0000004e USBD_SetupStage
|
0800076c l F .text 0000004e USBD_SetupStage
|
||||||
080007c0 l F .text 000000b8 USBD_DataInStage
|
080007bc l F .text 000000b8 USBD_DataInStage
|
||||||
08000878 l F .text 00000076 USBD_DataOutStage
|
08000874 l F .text 00000076 USBD_DataOutStage
|
||||||
00000000 l df *ABS* 00000000 usbd_ioreq.c
|
00000000 l df *ABS* 00000000 usbd_ioreq.c
|
||||||
00000000 l df *ABS* 00000000 usbd_req.c
|
00000000 l df *ABS* 00000000 usbd_req.c
|
||||||
20000338 l O .bss 00000001 cfgidx.8604
|
2000033c l O .bss 00000001 cfgidx.8604
|
||||||
00000000 l df *ABS* 00000000 usb_core.c
|
00000000 l df *ABS* 00000000 usb_core.c
|
||||||
08000f48 l F .text 00000072 USB_OTG_CoreReset
|
08000f44 l F .text 00000072 USB_OTG_CoreReset
|
||||||
00000000 l df *ABS* 00000000 usb_dcd.c
|
00000000 l df *ABS* 00000000 usb_dcd.c
|
||||||
00000000 l df *ABS* 00000000 usb_dcd_int.c
|
00000000 l df *ABS* 00000000 usb_dcd_int.c
|
||||||
00000000 l df *ABS* 00000000 mmc.c
|
00000000 l df *ABS* 00000000 mmc.c
|
||||||
08001f84 l F .text 0000004e CmdResp2Error
|
08001f80 l F .text 0000004e CmdResp2Error
|
||||||
08001fd4 l F .text 00000130 CmdResp1Error
|
08001fd0 l F .text 00000130 CmdResp1Error
|
||||||
08002104 l F .text 00000266 SDEnWideBus
|
08002100 l F .text 00000266 SDEnWideBus
|
||||||
20000339 l O .bss 00000001 TransferError
|
2000033d l O .bss 00000001 TransferError
|
||||||
200000cc l O .data 00000004 DMAEndOfTransfer
|
200000cc l O .data 00000004 DMAEndOfTransfer
|
||||||
2000033c l O .bss 00000018 SDIO_DataInitStructure
|
20000340 l O .bss 00000018 SDIO_DataInitStructure
|
||||||
20000354 l O .bss 00000010 CSD_Tab
|
20000358 l O .bss 00000010 CSD_Tab
|
||||||
20000364 l O .bss 00000004 CardType
|
20000368 l O .bss 00000004 CardType
|
||||||
20000368 l O .bss 00000010 CID_Tab
|
2000036c l O .bss 00000010 CID_Tab
|
||||||
20000378 l O .bss 00000004 TransferEnd
|
2000037c l O .bss 00000004 TransferEnd
|
||||||
2000037c l O .bss 00000018 SDIO_InitStructure
|
20000380 l O .bss 00000018 SDIO_InitStructure
|
||||||
20000394 l O .bss 00000004 RCA
|
20000398 l O .bss 00000004 RCA
|
||||||
20000398 l O .bss 00000058 SDCardInfo
|
200003a0 l O .bss 00000058 SDCardInfo
|
||||||
200003f0 l O .bss 00000014 SDIO_CmdInitStructure
|
200003f8 l O .bss 00000014 SDIO_CmdInitStructure
|
||||||
200000d0 l O .data 00000001 Stat
|
200000d0 l O .data 00000001 Stat
|
||||||
20000404 l O .bss 00000004 StopCondition
|
2000040c l O .bss 00000004 StopCondition
|
||||||
00000000 l df *ABS* 00000000 stm32_eth.c
|
00000000 l df *ABS* 00000000 stm32_eth.c
|
||||||
00000000 l df *ABS* 00000000 netdev.c
|
00000000 l df *ABS* 00000000 netdev.c
|
||||||
00000000 l df *ABS* 00000000 stm32f4xx_flash.c
|
00000000 l df *ABS* 00000000 stm32f4xx_flash.c
|
||||||
|
@ -120,410 +120,411 @@ SYMBOL TABLE:
|
||||||
00000000 l df *ABS* 00000000 stm32f4xx_usart.c
|
00000000 l df *ABS* 00000000 stm32f4xx_usart.c
|
||||||
00000000 l df *ABS* 00000000 system_stm32f4xx.c
|
00000000 l df *ABS* 00000000 system_stm32f4xx.c
|
||||||
00000000 l df *ABS* 00000000 ff.c
|
00000000 l df *ABS* 00000000 ff.c
|
||||||
080041dc l F .text 00000012 mem_cpy
|
080041e4 l F .text 00000016 ld_dword
|
||||||
080041f0 l F .text 0000001e ld_clust
|
080041fc l F .text 00000012 mem_cpy
|
||||||
08004210 l F .text 0000001e sum_sfn
|
08004210 l F .text 00000016 clust2sect
|
||||||
08004230 l F .text 00000096 check_fs
|
08004228 l F .text 0000001e sum_sfn
|
||||||
080042c8 l F .text 00000076 sync_window
|
08004248 l F .text 00000056 get_ldnumber
|
||||||
08004340 l F .text 00000032 move_window
|
080042a0 l F .text 00000034 validate
|
||||||
08004374 l F .text 00000038 validate
|
080042d4 l F .text 0000006c sync_window
|
||||||
080043ac l F .text 00000394 chk_mounted
|
08004340 l F .text 0000003c move_window
|
||||||
08004740 l F .text 0000012c get_fileinfo
|
0800437c l F .text 000000b8 sync_fs
|
||||||
0800486c l F .text 000000bc sync_fs
|
08004434 l F .text 00000128 put_fat
|
||||||
08004a2c l F .text 00000098 dir_sdi
|
0800455c l F .text 00000018 st_clust
|
||||||
08004bd4 l F .text 000000cc create_chain
|
08004574 l F .text 000000f4 get_fileinfo
|
||||||
08004ca0 l F .text 0000012a dir_next
|
08004668 l F .text 000000d6 get_fat
|
||||||
08004dcc l F .text 000001a2 dir_find
|
08004740 l F .text 000000b4 dir_sdi
|
||||||
08004f70 l F .text 00000332 follow_path
|
080047f4 l F .text 000000d8 create_chain
|
||||||
080052a4 l F .text 00000130 dir_read
|
080048cc l F .text 00000096 remove_chain
|
||||||
080053d4 l F .text 00000058 dir_remove
|
08004964 l F .text 00000126 dir_next
|
||||||
0800542c l F .text 0000006e remove_chain
|
08004a8c l F .text 00000058 dir_remove
|
||||||
08005534 l F .text 00000236 dir_register
|
08004ae4 l F .text 000001c2 dir_find
|
||||||
20000408 l O .bss 00000200 LfnBuf
|
08004ca8 l F .text 000002fe dir_register
|
||||||
20000608 l O .bss 00000002 Fsid
|
08004fa8 l F .text 00000070 check_fs
|
||||||
080096fc l O .text 00000080 ExCvt
|
08005018 l F .text 0000030a find_volume
|
||||||
0800977c l O .text 0000000d LfnOfs
|
08005324 l F .text 00000156 dir_read
|
||||||
2000060c l O .bss 00000004 FatFs
|
0800547c l F .text 0000001e ld_clust
|
||||||
|
0800549c l F .text 00000352 follow_path
|
||||||
|
08005d1c l F .text 00000046 putc_bfd
|
||||||
|
20000410 l O .bss 00000200 LfnBuf
|
||||||
|
20000610 l O .bss 00000002 Fsid
|
||||||
|
08009920 l O .text 00000080 ExCvt
|
||||||
|
080099a0 l O .text 0000000d LfnOfs
|
||||||
|
20000614 l O .bss 00000004 FatFs
|
||||||
00000000 l df *ABS* 00000000 unicode.c
|
00000000 l df *ABS* 00000000 unicode.c
|
||||||
0800978c l O .text 000001e0 tbl_lower.4259
|
080099b0 l O .text 000000bc cvt2.4272
|
||||||
0800996c l O .text 00000100 Tbl
|
08009a6c l O .text 00000100 Tbl
|
||||||
08009a6c l O .text 000001e0 tbl_upper.4260
|
08009b6c l O .text 000001f2 cvt1.4271
|
||||||
00000000 l df *ABS* 00000000 uip.c
|
00000000 l df *ABS* 00000000 uip.c
|
||||||
08006110 l F .text 0000004c chksum
|
08006248 l F .text 0000004c chksum
|
||||||
0800615c l F .text 00000042 upper_layer_chksum
|
08006294 l F .text 00000042 upper_layer_chksum
|
||||||
08006220 l F .text 00000030 uip_add_rcv_nxt
|
08006358 l F .text 00000030 uip_add_rcv_nxt
|
||||||
20000610 l O .bss 00000002 tmp16
|
20000618 l O .bss 00000002 tmp16
|
||||||
20000612 l O .bss 00000002 ipid
|
2000061a l O .bss 00000002 ipid
|
||||||
20000614 l O .bss 00000004 iss
|
2000061c l O .bss 00000004 iss
|
||||||
20000618 l O .bss 00000002 lastport
|
20000620 l O .bss 00000002 lastport
|
||||||
20000624 l O .bss 00000001 c
|
2000062c l O .bss 00000001 c
|
||||||
20000625 l O .bss 00000001 opt
|
2000062d l O .bss 00000001 opt
|
||||||
00000000 l df *ABS* 00000000 uip_arp.c
|
00000000 l df *ABS* 00000000 uip_arp.c
|
||||||
08007240 l F .text 00000116 uip_arp_update
|
08007378 l F .text 00000116 uip_arp_update
|
||||||
20000626 l O .bss 00000001 i
|
2000062e l O .bss 00000001 i
|
||||||
20000627 l O .bss 00000001 tmpage
|
2000062f l O .bss 00000001 tmpage
|
||||||
20000628 l O .bss 00000060 arp_table
|
20000630 l O .bss 00000060 arp_table
|
||||||
08009c4c l O .text 00000006 broadcast_ethaddr
|
08009d60 l O .text 00000006 broadcast_ethaddr
|
||||||
20000688 l O .bss 00000001 c
|
20000690 l O .bss 00000001 c
|
||||||
20000689 l O .bss 00000001 arptime
|
20000691 l O .bss 00000001 arptime
|
||||||
2000068c l O .bss 00000004 ipaddr
|
20000694 l O .bss 00000004 ipaddr
|
||||||
00000000 l df *ABS* 00000000 boot.c
|
00000000 l df *ABS* 00000000 boot.c
|
||||||
00000000 l df *ABS* 00000000 com.c
|
00000000 l df *ABS* 00000000 com.c
|
||||||
|
20000698 l O .bss 00000040 xcpCtoReqPacket.4427
|
||||||
200000e4 l O .data 00000001 comActiveInterface
|
200000e4 l O .data 00000001 comActiveInterface
|
||||||
20000690 l O .bss 00000040 xcpCtoReqPacket.4417
|
|
||||||
00000000 l df *ABS* 00000000 net.c
|
00000000 l df *ABS* 00000000 net.c
|
||||||
200006d0 l O .bss 00000004 ARPTimerTimeOut
|
200006d8 l O .bss 00000004 ARPTimerTimeOut
|
||||||
200006d4 l O .bss 00000004 periodicTimerTimeOut
|
200006dc l O .bss 00000004 periodicTimerTimeOut
|
||||||
00000000 l df *ABS* 00000000 xcp.c
|
00000000 l df *ABS* 00000000 xcp.c
|
||||||
08007a9c l F .text 00000016 XcpSetCtoError
|
08007bd4 l F .text 00000016 XcpSetCtoError
|
||||||
08009c54 l O .text 00000008 xcpStationId
|
08009d68 l O .text 00000008 xcpStationId
|
||||||
200006d8 l O .bss 0000004c xcpInfo
|
200006e0 l O .bss 0000004c xcpInfo
|
||||||
00000000 l df *ABS* 00000000 backdoor.c
|
00000000 l df *ABS* 00000000 backdoor.c
|
||||||
20000724 l O .bss 00000001 backdoorOpen
|
2000072c l O .bss 00000001 backdoorOpen
|
||||||
20000728 l O .bss 00000004 backdoorOpenTime
|
20000730 l O .bss 00000004 backdoorOpenTime
|
||||||
00000000 l df *ABS* 00000000 cop.c
|
00000000 l df *ABS* 00000000 cop.c
|
||||||
00000000 l df *ABS* 00000000 file.c
|
00000000 l df *ABS* 00000000 file.c
|
||||||
08007ef8 l F .text 0000002e FileLibByteNibbleToChar
|
08008030 l F .text 0000002e FileLibByteNibbleToChar
|
||||||
08007f28 l F .text 00000020 FileLibByteToHexString
|
08008060 l F .text 00000020 FileLibByteToHexString
|
||||||
08007f48 l F .text 00000046 FileLibLongToIntString
|
08008080 l F .text 00000046 FileLibLongToIntString
|
||||||
08007f90 l F .text 00000066 FileLibHexStringToByte
|
080080c8 l F .text 00000066 FileLibHexStringToByte
|
||||||
2000072c l O .bss 00000040 loggingStr
|
20000734 l O .bss 00000040 loggingStr
|
||||||
2000076c l O .bss 00000001 firmwareUpdateState
|
20000774 l O .bss 00000001 firmwareUpdateState
|
||||||
20000770 l O .bss 00000008 eraseInfo
|
20000778 l O .bss 00000008 eraseInfo
|
||||||
20000778 l O .bss 00000458 fatFsObjects
|
20000780 l O .bss 00000458 fatFsObjects
|
||||||
20000bd0 l O .bss 00000184 lineParseObject
|
20000bd8 l O .bss 00000184 lineParseObject
|
||||||
00000000 l df *ABS* 00000000 assert.c
|
00000000 l df *ABS* 00000000 assert.c
|
||||||
00000000 l df *ABS* 00000000 can.c
|
00000000 l df *ABS* 00000000 can.c
|
||||||
08009e44 l O .text 00000024 canTiming
|
08009f5c l O .text 00000024 canTiming
|
||||||
00000000 l df *ABS* 00000000 cpu.c
|
00000000 l df *ABS* 00000000 cpu.c
|
||||||
00000000 l df *ABS* 00000000 flash.c
|
00000000 l df *ABS* 00000000 flash.c
|
||||||
080089f4 l F .text 00000044 FlashGetSector
|
08008c18 l F .text 00000044 FlashGetSector
|
||||||
08008a38 l F .text 00000078 FlashWriteBlock
|
08008c5c l F .text 00000078 FlashWriteBlock
|
||||||
08008ab0 l F .text 00000062 FlashSwitchBlock
|
08008cd4 l F .text 00000062 FlashSwitchBlock
|
||||||
08008b14 l F .text 00000084 FlashAddToBlock
|
08008d38 l F .text 00000084 FlashAddToBlock
|
||||||
08009e68 l O .text 00000030 flashSectorNumToMask
|
08009f80 l O .text 00000030 flashSectorNumToMask
|
||||||
08009e98 l O .text 0000006c flashLayout
|
08009fb0 l O .text 0000006c flashLayout
|
||||||
20000d54 l O .bss 00000204 bootBlockInfo
|
20000d5c l O .bss 00000204 bootBlockInfo
|
||||||
20000f58 l O .bss 00000204 blockInfo
|
20000f60 l O .bss 00000204 blockInfo
|
||||||
00000000 l df *ABS* 00000000 uart.c
|
00000000 l df *ABS* 00000000 uart.c
|
||||||
08008da8 l F .text 00000042 UartTransmitByte
|
08008fcc l F .text 00000042 UartTransmitByte
|
||||||
08008dec l F .text 0000002c UartReceiveByte
|
08009010 l F .text 0000002c UartReceiveByte
|
||||||
2000115c l O .bss 00000001 xcpCtoRxLength.7770
|
20001164 l O .bss 00000001 xcpCtoRxLength.7780
|
||||||
20001160 l O .bss 00000041 xcpCtoReqPacket.7769
|
20001168 l O .bss 00000041 xcpCtoReqPacket.7779
|
||||||
200011a4 l O .bss 00000001 xcpCtoRxInProgress.7771
|
200011ac l O .bss 00000001 xcpCtoRxInProgress.7781
|
||||||
200011a8 l O .bss 00000004 xcpCtoRxStartTime.7772
|
200011b0 l O .bss 00000004 xcpCtoRxStartTime.7782
|
||||||
00000000 l df *ABS* 00000000 usb.c
|
00000000 l df *ABS* 00000000 usb.c
|
||||||
08008f98 l F .text 0000007c UsbFifoMgrWrite
|
080091bc l F .text 0000007c UsbFifoMgrWrite
|
||||||
08009014 l F .text 00000076 UsbFifoMgrRead
|
08009238 l F .text 00000076 UsbFifoMgrRead
|
||||||
200011ac l O .bss 00000004 fifoCtrlFree
|
200011b4 l O .bss 00000004 fifoCtrlFree
|
||||||
200011b0 l O .bss 00000030 fifoCtrl
|
200011b8 l O .bss 00000030 fifoCtrl
|
||||||
200011e0 l O .bss 00000041 fifoPipeBulkOUT
|
200011e8 l O .bss 00000041 fifoPipeBulkOUT
|
||||||
20001224 l O .bss 00000040 xcpCtoReqPacket.8946
|
2000122c l O .bss 00000040 USB_Tx_Buffer.8970
|
||||||
20001264 l O .bss 00000001 xcpCtoRxLength.8947
|
2000126c l O .bss 00000040 xcpCtoReqPacket.8956
|
||||||
20001268 l O .bss 00000041 fifoPipeBulkIN
|
200012ac l O .bss 00000041 fifoPipeBulkIN
|
||||||
200012ac l O .bss 00000040 USB_Tx_Buffer.8960
|
200012f0 l O .bss 00000001 xcpCtoRxLength.8957
|
||||||
200012ec l O .bss 000005f4 USB_OTG_dev
|
200012f4 l O .bss 000005f4 USB_OTG_dev
|
||||||
200018e0 l O .bss 00000001 xcpCtoRxInProgress.8948
|
200018e8 l O .bss 00000001 xcpCtoRxInProgress.8958
|
||||||
00000000 l df *ABS* 00000000 nvm.c
|
00000000 l df *ABS* 00000000 nvm.c
|
||||||
00000000 l df *ABS* 00000000 timer.c
|
00000000 l df *ABS* 00000000 timer.c
|
||||||
200018e4 l O .bss 00000004 millisecond_counter
|
200018ec l O .bss 00000004 millisecond_counter
|
||||||
00000000 l df *ABS* 00000000 cpu_comp.c
|
00000000 l df *ABS* 00000000 cpu_comp.c
|
||||||
00000000 l df *ABS* 00000000 cstart.c
|
00000000 l df *ABS* 00000000 cstart.c
|
||||||
080094e8 l F .text 00000000 zero_loop
|
0800970c l F .text 00000000 zero_loop
|
||||||
00000000 l df *ABS* 00000000 memcpy-stub.c
|
00000000 l df *ABS* 00000000 memcpy-stub.c
|
||||||
00000000 l df *ABS* 00000000 memset.c
|
00000000 l df *ABS* 00000000 memset.c
|
||||||
00000000 l df *ABS* 00000000 ctype_.c
|
00000000 l df *ABS* 00000000 ctype_.c
|
||||||
00000000 l df *ABS* 00000000
|
00000000 l df *ABS* 00000000
|
||||||
00000800 l *ABS* 00000000 __STACKSIZE__
|
00000800 l *ABS* 00000000 __STACKSIZE__
|
||||||
080076ec g F .text 00000030 ComInit
|
08007824 g F .text 00000030 ComInit
|
||||||
08008bb4 g F .text 00000050 FlashWrite
|
08008dd8 g F .text 00000050 FlashWrite
|
||||||
2000006c g O .data 00000012 USBD_DeviceDesc
|
2000006c g O .data 00000012 USBD_DeviceDesc
|
||||||
080004f4 g F .text 0000001e USBD_USR_ProductStrDescriptor
|
080004f0 g F .text 0000001e USBD_USR_ProductStrDescriptor
|
||||||
08005fe4 g F .text 0000004e f_gets
|
080060b0 g F .text 0000004e f_gets
|
||||||
08001790 g F .text 00000010 USB_OTG_ReadDevOutEP_itr
|
0800178c g F .text 00000010 USB_OTG_ReadDevOutEP_itr
|
||||||
08003a58 g F .text 0000002c FLASH_Unlock
|
08003a60 g F .text 0000002c FLASH_Unlock
|
||||||
08000694 g F .text 00000010 USB_OTG_BSP_mDelay
|
08000690 g F .text 00000010 USB_OTG_BSP_mDelay
|
||||||
080005b0 g F .text 0000000a USBD_USR_DeviceConnected
|
080005ac g F .text 0000000a USBD_USR_DeviceConnected
|
||||||
080036d8 g F .text 00000012 ETH_FlushTransmitFIFO
|
080036e0 g F .text 00000012 ETH_FlushTransmitFIFO
|
||||||
080086f0 g F .text 00000008 AssertFailure
|
08008914 g F .text 00000008 AssertFailure
|
||||||
08004940 g F .text 000000ea get_fat
|
08008b2c g F .text 00000088 CanReceivePacket
|
||||||
08008908 g F .text 00000088 CanReceivePacket
|
|
||||||
2000009c g O .data 00000004 USBD_DCD_INT_fops
|
2000009c g O .data 00000004 USBD_DCD_INT_fops
|
||||||
080094a4 g F .text 00000058 reset_handler
|
080096c8 g F .text 00000058 reset_handler
|
||||||
08003c7c g F .text 00000028 GPIO_PinAFConfig
|
08003c84 g F .text 00000028 GPIO_PinAFConfig
|
||||||
080017f0 g F .text 0000009a DCD_Init
|
080017ec g F .text 0000009a DCD_Init
|
||||||
08009450 g F .text 00000022 TimerUpdate
|
08009674 g F .text 00000022 TimerUpdate
|
||||||
08007ae4 g F .text 00000010 XcpPacketTransmitted
|
08007c1c g F .text 00000010 XcpPacketTransmitted
|
||||||
080004c8 g F .text 0000000a usbd_bulk_get_rx_buffer_ptr
|
080004c4 g F .text 0000000a usbd_bulk_get_rx_buffer_ptr
|
||||||
0800322c g F .text 0000009e ETH_StructInit
|
08003234 g F .text 0000009e ETH_StructInit
|
||||||
0800771c g F .text 000000a4 ComTask
|
08007854 g F .text 000000a4 ComTask
|
||||||
08003f8c g F .text 0000000c SDIO_ClearFlag
|
08003f94 g F .text 0000000c SDIO_ClearFlag
|
||||||
08003054 g F .text 00000018 SD_GetStatus
|
08003050 g F .text 00000018 SD_GetStatus
|
||||||
08003ba0 g F .text 0000003e FLASH_ProgramWord
|
08003ba8 g F .text 0000003e FLASH_ProgramWord
|
||||||
08003eb0 g F .text 0000000c SDIO_SetPowerState
|
08003eb8 g F .text 0000000c SDIO_SetPowerState
|
||||||
080033a4 g F .text 000002be ETH_Init
|
080033ac g F .text 000002be ETH_Init
|
||||||
080011d8 g F .text 00000046 USB_OTG_FlushRxFifo
|
080011d4 g F .text 00000046 USB_OTG_FlushRxFifo
|
||||||
20002790 g O .bss 00000002 uip_len
|
20002790 g O .bss 00000002 uip_len
|
||||||
2000061c g O .bss 00000006 uip_ethaddr
|
20000624 g O .bss 00000006 uip_ethaddr
|
||||||
080061a0 g F .text 0000007e uip_add32
|
080062d8 g F .text 0000007e uip_add32
|
||||||
080076b4 g F .text 00000020 BootInit
|
080077ec g F .text 00000020 BootInit
|
||||||
080018e0 g F .text 00000032 DCD_EP_Close
|
080018dc g F .text 00000032 DCD_EP_Close
|
||||||
080080bc g F .text 00000038 FileSrecVerifyChecksum
|
080081fc g F .text 00000038 FileSrecVerifyChecksum
|
||||||
0800188c g F .text 00000054 DCD_EP_Open
|
08001888 g F .text 00000054 DCD_EP_Open
|
||||||
20001928 g O .bss 00000004 SET_TEST_MODE
|
20001930 g O .bss 00000004 SET_TEST_MODE
|
||||||
08007ecc g F .text 00000022 BackDoorInit
|
08008004 g F .text 00000022 BackDoorInit
|
||||||
08000a38 g F .text 00000354 USBD_StdDevReq
|
08000a34 g F .text 00000354 USBD_StdDevReq
|
||||||
08000574 g F .text 0000001e USBD_USR_InterfaceStrDescriptor
|
08000570 g F .text 0000001e USBD_USR_InterfaceStrDescriptor
|
||||||
08003e10 g F .text 00000024 RCC_AHB1PeriphResetCmd
|
08003e18 g F .text 00000024 RCC_AHB1PeriphResetCmd
|
||||||
080040b0 g F .text 0000000c USART_GetFlagStatus
|
080040b8 g F .text 0000000c USART_GetFlagStatus
|
||||||
08007ef4 g F .text 00000002 CopService
|
0800802c g F .text 00000002 CopService
|
||||||
0800a088 g .text 00000000 _etext
|
0800a1a0 g .text 00000000 _etext
|
||||||
20000330 g O .bss 00000004 USBD_ep_status
|
20000334 g O .bss 00000004 USBD_ep_status
|
||||||
0800949c g F .text 00000004 CpuIrqDisable
|
080096c0 g F .text 00000004 CpuIrqDisable
|
||||||
08002e40 g F .text 0000019a SD_WriteBlock
|
08002e3c g F .text 0000019a SD_WriteBlock
|
||||||
20000080 g O .data 0000001c USR_cb
|
20000080 g O .data 0000001c USR_cb
|
||||||
080060e0 g F .text 0000002e ff_wtoupper
|
080061a0 g F .text 000000a6 ff_wtoupper
|
||||||
08001a10 g F .text 00000014 DCD_DevDisconnect
|
08001a0c g F .text 00000014 DCD_DevDisconnect
|
||||||
080039a8 g F .text 00000050 netdev_read
|
080039b0 g F .text 00000050 netdev_read
|
||||||
080062e8 g F .text 00000f1e uip_process
|
08006420 g F .text 00000f1e uip_process
|
||||||
08008d9c g F .text 0000000a FlashGetUserProgBaseAddress
|
08008fc0 g F .text 0000000a FlashGetUserProgBaseAddress
|
||||||
080005a0 g F .text 00000008 USBD_USR_DeviceSuspended
|
0800059c g F .text 00000008 USBD_USR_DeviceSuspended
|
||||||
08003214 g F .text 00000018 ETH_DeInit
|
0800321c g F .text 00000018 ETH_DeInit
|
||||||
08009508 g F .text 000000a6 memcpy
|
0800972c g F .text 000000a6 memcpy
|
||||||
08008274 g F .text 0000047c FileTask
|
080083b4 g F .text 00000560 FileTask
|
||||||
08000dc4 g F .text 00000138 USBD_StdEPReq
|
08000dc0 g F .text 00000138 USBD_StdEPReq
|
||||||
08009440 g F .text 0000000e TimerReset
|
08009664 g F .text 0000000e TimerReset
|
||||||
0800306c g F .text 00000038 disk_initialize
|
08003068 g F .text 00000038 disk_initialize
|
||||||
20002794 g O .bss 00000004 uip_sappdata
|
20002794 g O .bss 00000004 uip_sappdata
|
||||||
08000190 g F .text 00000002 UsbLeaveLowPowerModeHook
|
08000190 g F .text 00000002 UsbLeaveLowPowerModeHook
|
||||||
0800375c g F .text 00000226 netdev_init
|
08003764 g F .text 00000226 netdev_init
|
||||||
08000998 g F .text 0000001e USBD_CtlSendStatus
|
08000994 g F .text 0000001e USBD_CtlSendStatus
|
||||||
20002798 g O .bss 00000004 uip_acc32
|
20002798 g O .bss 00000004 uip_acc32
|
||||||
08000d8c g F .text 00000036 USBD_StdItfReq
|
08000d88 g F .text 00000036 USBD_StdItfReq
|
||||||
08006250 g F .text 00000024 uip_ipchksum
|
08006388 g F .text 00000024 uip_ipchksum
|
||||||
080027bc g F .text 000002b6 SD_GetCardInfo
|
080027b8 g F .text 000002b6 SD_GetCardInfo
|
||||||
08003f78 g F .text 00000014 SDIO_GetFlagStatus
|
08003f80 g F .text 00000014 SDIO_GetFlagStatus
|
||||||
080009d8 g F .text 00000044 USBD_ParseSetupRequest
|
080009d4 g F .text 00000044 USBD_ParseSetupRequest
|
||||||
080040a8 g F .text 00000008 USART_ReceiveData
|
080040b0 g F .text 00000008 USART_ReceiveData
|
||||||
080076d4 g F .text 00000018 BootTask
|
0800780c g F .text 00000018 BootTask
|
||||||
08001a24 g F .text 0000055e USBD_OTG_ISR_Handler
|
08001a20 g F .text 0000055e USBD_OTG_ISR_Handler
|
||||||
08003028 g F .text 0000002c SD_GetState
|
08003024 g F .text 0000002c SD_GetState
|
||||||
08008c90 g F .text 00000058 FlashWriteChecksum
|
08008eb4 g F .text 00000058 FlashWriteChecksum
|
||||||
08002a74 g F .text 00000084 SD_EnableWideBusOperation
|
08002a70 g F .text 00000084 SD_EnableWideBusOperation
|
||||||
08003dec g F .text 00000024 RCC_APB2PeriphClockCmd
|
08003df4 g F .text 00000024 RCC_APB2PeriphClockCmd
|
||||||
08003efc g F .text 0000000e SDIO_GetCommandResponse
|
08003f04 g F .text 0000000e SDIO_GetCommandResponse
|
||||||
08001010 g F .text 000000c8 USB_OTG_SelectCore
|
0800100c g F .text 000000c8 USB_OTG_SelectCore
|
||||||
080077c8 g F .text 00000060 ComTransmitPacket
|
08007900 g F .text 00000060 ComTransmitPacket
|
||||||
08003be0 g F .text 00000090 GPIO_Init
|
08003be8 g F .text 00000090 GPIO_Init
|
||||||
080030a4 g F .text 00000032 disk_status
|
080030a0 g F .text 00000032 disk_status
|
||||||
080080f4 g F .text 0000017e FileSrecParseLine
|
08008234 g F .text 0000017e FileSrecParseLine
|
||||||
08001220 g F .text 0000002a USB_OTG_SetCurrentMode
|
0800121c g F .text 0000002a USB_OTG_SetCurrentMode
|
||||||
080062b4 g F .text 00000032 uip_listen
|
080063ec g F .text 00000032 uip_listen
|
||||||
08004084 g F .text 0000001c USART_Cmd
|
0800408c g F .text 0000001c USART_Cmd
|
||||||
080039f8 g F .text 00000060 netdev_send
|
08003a00 g F .text 00000060 netdev_send
|
||||||
0800125c g F .text 0000000a USB_OTG_ReadCoreItr
|
08001258 g F .text 0000000a USB_OTG_ReadCoreItr
|
||||||
08000598 g F .text 00000002 USBD_USR_DeviceReset
|
08000594 g F .text 00000002 USBD_USR_DeviceReset
|
||||||
0800093c g F .text 0000000e USBD_ClrCfg
|
08000938 g F .text 0000000e USBD_ClrCfg
|
||||||
080031a8 g F .text 00000062 disk_ioctl
|
080031b8 g F .text 00000062 disk_ioctl
|
||||||
080008f0 g F .text 00000034 USBD_Init
|
080008ec g F .text 00000034 USBD_Init
|
||||||
08008038 g F .text 00000036 FileHandleFirmwareUpdateRequest
|
08008178 g F .text 00000036 FileHandleFirmwareUpdateRequest
|
||||||
20000020 g O .data 0000002c USBD_bulk_cb
|
20000020 g O .data 0000002c USBD_bulk_cb
|
||||||
08003dc8 g F .text 00000024 RCC_APB1PeriphClockCmd
|
08003dd0 g F .text 00000024 RCC_APB1PeriphClockCmd
|
||||||
0800549c g F .text 00000098 gen_numname
|
|
||||||
2000279c g O .bss 00000001 uip_flags
|
2000279c g O .bss 00000001 uip_flags
|
||||||
08000984 g F .text 00000012 USBD_CtlContinueRx
|
08000980 g F .text 00000012 USBD_CtlContinueRx
|
||||||
20001a80 g O .bss 00000010 EnetDmaRx
|
20001a80 g O .bss 00000010 EnetDmaRx
|
||||||
08003da4 g F .text 00000024 RCC_AHB2PeriphClockCmd
|
08003dac g F .text 00000024 RCC_AHB2PeriphClockCmd
|
||||||
0800022c g F .text 00000054 FileFirmwareUpdateCompletedHook
|
08000228 g F .text 00000054 FileFirmwareUpdateCompletedHook
|
||||||
08007ad0 g F .text 00000012 XcpIsConnected
|
08007c08 g F .text 00000012 XcpIsConnected
|
||||||
08005f28 g F .text 000000bc f_unlink
|
08005fe8 g F .text 000000c8 f_unlink
|
||||||
0800018c g F .text 00000002 UsbEnterLowPowerModeHook
|
0800018c g F .text 00000002 UsbEnterLowPowerModeHook
|
||||||
08003664 g F .text 00000026 ETH_MACTransmissionCmd
|
0800366c g F .text 00000026 ETH_MACTransmissionCmd
|
||||||
080093dc g F .text 00000008 NvmInit
|
08009600 g F .text 00000008 NvmInit
|
||||||
08008b98 g F .text 0000001a FlashInit
|
08008dbc g F .text 0000001a FlashInit
|
||||||
08003a84 g F .text 00000012 FLASH_Lock
|
08003a8c g F .text 00000012 FLASH_Lock
|
||||||
080093fc g F .text 00000008 NvmGetUserProgBaseAddress
|
08009620 g F .text 00000008 NvmGetUserProgBaseAddress
|
||||||
20002e64 g .bss 00000000 _ebss
|
20002e64 g .bss 00000000 _ebss
|
||||||
08006034 g F .text 00000034 f_putc
|
0800179c g F .text 0000000c USB_OTG_ReadDevAllInEPItr
|
||||||
080017a0 g F .text 0000000c USB_OTG_ReadDevAllInEPItr
|
08001720 g F .text 00000034 USB_OTG_EPSetStall
|
||||||
08001724 g F .text 00000034 USB_OTG_EPSetStall
|
08006100 g F .text 00000052 f_puts
|
||||||
08006068 g F .text 0000002c f_puts
|
08000510 g F .text 0000001e USBD_USR_ManufacturerStrDescriptor
|
||||||
08000514 g F .text 0000001e USBD_USR_ManufacturerStrDescriptor
|
080096ac g F .text 00000012 UnusedISR
|
||||||
08009488 g F .text 00000012 UnusedISR
|
080005a4 g F .text 00000008 USBD_USR_DeviceResumed
|
||||||
080005a8 g F .text 00000008 USBD_USR_DeviceResumed
|
08003eac g F .text 0000000c SDIO_ClockCmd
|
||||||
08003ea4 g F .text 0000000c SDIO_ClockCmd
|
080078f8 g F .text 00000008 ComFree
|
||||||
080077c0 g F .text 00000008 ComFree
|
08003f30 g F .text 00000030 SDIO_DataConfig
|
||||||
08003f28 g F .text 00000030 SDIO_DataConfig
|
080005c4 g F .text 000000ae USB_OTG_BSP_Init
|
||||||
080005c8 g F .text 000000ae USB_OTG_BSP_Init
|
08000530 g F .text 0000001e USBD_USR_SerialStrDescriptor
|
||||||
08000534 g F .text 0000001e USBD_USR_SerialStrDescriptor
|
080036bc g F .text 00000012 ETH_SoftwareReset
|
||||||
080036b4 g F .text 00000012 ETH_SoftwareReset
|
08003344 g F .text 00000068 ETH_WritePHYRegister
|
||||||
0800333c g F .text 00000068 ETH_WritePHYRegister
|
080015fc g F .text 00000122 USB_OTG_EP0StartXfer
|
||||||
08001600 g F .text 00000122 USB_OTG_EP0StartXfer
|
080009b4 g F .text 0000001e USBD_CtlReceiveStatus
|
||||||
080009b8 g F .text 0000001e USBD_CtlReceiveStatus
|
0800903c g F .text 0000003e UartInit
|
||||||
08008e18 g F .text 0000003e UartInit
|
08000678 g F .text 00000018 USB_OTG_BSP_uDelay
|
||||||
0800067c g F .text 00000018 USB_OTG_BSP_uDelay
|
08001264 g F .text 0000000c USB_OTG_InitDevSpeed
|
||||||
08001268 g F .text 0000000c USB_OTG_InitDevSpeed
|
080014cc g F .text 0000012e USB_OTG_EPStartXfer
|
||||||
080014d0 g F .text 0000012e USB_OTG_EPStartXfer
|
08009594 g F .text 0000006c UsbReceivePipeBulkOUT
|
||||||
08009370 g F .text 0000006c UsbReceivePipeBulkOUT
|
08003cac g F .text 000000da RCC_GetClocksFreq
|
||||||
08003ca4 g F .text 000000da RCC_GetClocksFreq
|
08009610 g F .text 00000008 NvmErase
|
||||||
080093ec g F .text 00000008 NvmErase
|
|
||||||
08000194 g F .text 00000018 CpuUserProgramStartHook
|
08000194 g F .text 00000018 CpuUserProgramStartHook
|
||||||
08000a1c g F .text 0000001a USBD_CtlError
|
08000a18 g F .text 0000001a USBD_CtlError
|
||||||
08003984 g F .text 00000022 netdev_init_mac
|
0800398c g F .text 00000022 netdev_init_mac
|
||||||
08003fa4 g F .text 000000de USART_Init
|
08003fac g F .text 000000de USART_Init
|
||||||
080019c0 g F .text 00000040 DCD_EP_ClrStall
|
080019bc g F .text 00000040 DCD_EP_ClrStall
|
||||||
20000100 g .bss 00000000 _bss
|
20000100 g .bss 00000000 _bss
|
||||||
08005d30 g F .text 00000014 f_close
|
08005e00 g F .text 00000024 f_close
|
||||||
0800059c g F .text 00000002 USBD_USR_DeviceConfigured
|
08000598 g F .text 00000002 USBD_USR_DeviceConfigured
|
||||||
08003aa4 g F .text 00000054 FLASH_GetStatus
|
08003aac g F .text 00000054 FLASH_GetStatus
|
||||||
08007af4 g F .text 00000388 XcpPacketReceived
|
08007c2c g F .text 00000388 XcpPacketReceived
|
||||||
08006274 g F .text 0000000a uip_tcpchksum
|
080063ac g F .text 0000000a uip_tcpchksum
|
||||||
08008990 g F .text 00000008 CpuInit
|
08008bb4 g F .text 00000008 CpuInit
|
||||||
08003a98 g F .text 0000000c FLASH_ClearFlag
|
08003aa0 g F .text 0000000c FLASH_ClearFlag
|
||||||
08003af8 g F .text 00000038 FLASH_WaitForLastOperation
|
08003b00 g F .text 00000038 FLASH_WaitForLastOperation
|
||||||
08003714 g F .text 00000026 ETH_DMAReceptionCmd
|
0800371c g F .text 00000026 ETH_DMAReceptionCmd
|
||||||
08000594 g F .text 00000002 USBD_USR_Init
|
08000590 g F .text 00000002 USBD_USR_Init
|
||||||
08005904 g F .text 000001a8 f_read
|
080059f0 g F .text 0000017c f_read
|
||||||
08008d50 g F .text 0000004c FlashDone
|
08008f74 g F .text 0000004c FlashDone
|
||||||
08001784 g F .text 0000000c USB_OTG_ReadDevAllOutEp_itr
|
08001780 g F .text 0000000c USB_OTG_ReadDevAllOutEp_itr
|
||||||
08002b24 g F .text 00000172 SD_Init
|
08002b20 g F .text 00000172 SD_Init
|
||||||
0800124c g F .text 00000010 USB_OTG_IsDeviceMode
|
08001248 g F .text 00000010 USB_OTG_IsDeviceMode
|
||||||
08000fbc g F .text 0000002a USB_OTG_WritePacket
|
08000fb8 g F .text 0000002a USB_OTG_WritePacket
|
||||||
200027a0 g O .bss 00000004 uip_appdata
|
200027a0 g O .bss 00000004 uip_appdata
|
||||||
08001980 g F .text 00000040 DCD_EP_Stall
|
0800197c g F .text 00000040 DCD_EP_Stall
|
||||||
200027a4 g O .bss 00000004 uip_conn
|
200027a4 g O .bss 00000004 uip_conn
|
||||||
080036c8 g F .text 00000010 ETH_GetSoftwareResetStatus
|
080036d0 g F .text 00000010 ETH_GetSoftwareResetStatus
|
||||||
08001758 g F .text 0000002a USB_OTG_EPClearStall
|
08001754 g F .text 0000002a USB_OTG_EPClearStall
|
||||||
200018e8 g O .bss 00000040 USB_Rx_Buffer
|
200018f0 g O .bss 00000040 USB_Rx_Buffer
|
||||||
0800917c g F .text 0000007a UsbTransmitPacket
|
080093a0 g F .text 0000007a UsbTransmitPacket
|
||||||
08002af8 g F .text 0000002c SD_SelectDeselect
|
08002af4 g F .text 0000002c SD_SelectDeselect
|
||||||
08008860 g F .text 000000a8 CanTransmitPacket
|
08008a84 g F .text 000000a8 CanTransmitPacket
|
||||||
08000188 g F .text 00000002 UsbConnectHook
|
08000188 g F .text 00000002 UsbConnectHook
|
||||||
08003ecc g F .text 00000030 SDIO_SendCommand
|
08003ed4 g F .text 00000030 SDIO_SendCommand
|
||||||
080032cc g F .text 0000006e ETH_ReadPHYRegister
|
080032d4 g F .text 0000006e ETH_ReadPHYRegister
|
||||||
200027a8 g O .bss 00000068 uip_conns
|
200027a8 g O .bss 00000068 uip_conns
|
||||||
08001914 g F .text 00000038 DCD_EP_PrepareRx
|
08001910 g F .text 00000038 DCD_EP_PrepareRx
|
||||||
08001430 g F .text 0000005c USB_OTG_EPActivate
|
0800142c g F .text 0000005c USB_OTG_EPActivate
|
||||||
0800320c g F .text 00000008 get_fattime
|
08007bec g F .text 0000001c XcpInit
|
||||||
08007ab4 g F .text 0000001c XcpInit
|
08000920 g F .text 00000018 USBD_SetCfg
|
||||||
08000924 g F .text 00000018 USBD_SetCfg
|
08008130 g F .text 00000034 FileInit
|
||||||
08007ff8 g F .text 0000002c FileInit
|
08003f60 g F .text 0000000e SDIO_ReadData
|
||||||
08003f58 g F .text 0000000e SDIO_ReadData
|
080092b0 g F .text 000000d8 UsbInit
|
||||||
0800908c g F .text 000000d8 UsbInit
|
0800761c g F .text 000001d0 uip_arp_out
|
||||||
080074e4 g F .text 000001d0 uip_arp_out
|
08009388 g F .text 00000016 UsbFree
|
||||||
08009164 g F .text 00000016 UsbFree
|
08008e28 g F .text 0000008a FlashErase
|
||||||
08008c04 g F .text 0000008a FlashErase
|
080004d0 g F .text 0000000e USBD_USR_DeviceDescriptor
|
||||||
080004d4 g F .text 0000000e USBD_USR_DeviceDescriptor
|
080097d4 g F .text 0000009e memset
|
||||||
080095b0 g F .text 0000009e memset
|
0800027c g F .text 00000020 FileFirmwareUpdateErrorHook
|
||||||
08000280 g F .text 00000020 FileFirmwareUpdateErrorHook
|
080002fc g F .text 000000dc main
|
||||||
08000300 g F .text 000000dc main
|
08003b38 g F .text 0000006e FLASH_EraseSector
|
||||||
08003b30 g F .text 0000006e FLASH_EraseSector
|
08005d64 g F .text 0000009c f_sync
|
||||||
08005c84 g F .text 000000ac f_sync
|
08002fd8 g F .text 0000004c SD_SendStatus
|
||||||
08002fdc g F .text 0000004c SD_SendStatus
|
080012c0 g F .text 0000011e USB_OTG_CoreInitDev
|
||||||
080012c4 g F .text 0000011e USB_OTG_CoreInitDev
|
08001184 g F .text 0000004e USB_OTG_FlushTxFifo
|
||||||
08001188 g F .text 0000004e USB_OTG_FlushTxFifo
|
080081b0 g F .text 0000004c FileSrecGetLineType
|
||||||
08008070 g F .text 0000004c FileSrecGetLineType
|
08009628 g F .text 00000012 NvmDone
|
||||||
08009404 g F .text 00000012 NvmDone
|
080057f0 g F .text 0000007a f_mount
|
||||||
0800576c g F .text 0000002a f_mount
|
0800907c g F .text 00000066 UartTransmitPacket
|
||||||
08008e58 g F .text 00000066 UartTransmitPacket
|
08009618 g F .text 00000008 NvmVerifyChecksum
|
||||||
080093f4 g F .text 00000008 NvmVerifyChecksum
|
08008bf8 g F .text 0000001e CpuMemCopy
|
||||||
080089d4 g F .text 0000001e CpuMemCopy
|
08003f14 g F .text 0000001a SDIO_GetResponse
|
||||||
08003f0c g F .text 0000001a SDIO_GetResponse
|
|
||||||
20000068 g O .data 00000004 USBD_LangIDDesc
|
20000068 g O .data 00000004 USBD_LangIDDesc
|
||||||
08001178 g F .text 0000000e USB_OTG_DisableGlobalInt
|
08001174 g F .text 0000000e USB_OTG_DisableGlobalInt
|
||||||
080017ac g F .text 00000042 USB_OTG_EP0_OutStart
|
080017a8 g F .text 00000042 USB_OTG_EP0_OutStart
|
||||||
080010d8 g F .text 00000090 USB_OTG_CoreInit
|
080010d4 g F .text 00000090 USB_OTG_CoreInit
|
||||||
2000032c g O .bss 00000004 USBD_cfg_status
|
20000330 g O .bss 00000004 USBD_cfg_status
|
||||||
080040bc g F .text 00000120 SystemInit
|
080040c4 g F .text 00000120 SystemInit
|
||||||
20000334 g O .bss 00000004 USBD_default_cfg
|
20000338 g O .bss 00000004 USBD_default_cfg
|
||||||
08004ac4 g F .text 0000010e put_fat
|
08001948 g F .text 00000034 DCD_EP_Tx
|
||||||
0800194c g F .text 00000034 DCD_EP_Tx
|
08005e24 g F .text 00000170 f_lseek
|
||||||
08005d44 g F .text 00000198 f_lseek
|
08003fa0 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig
|
||||||
08003f98 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig
|
080074e8 g F .text 00000134 uip_arp_arpin
|
||||||
080073b0 g F .text 00000134 uip_arp_arpin
|
0800797c g F .text 0000001c ComGetActiveInterfaceMaxTxLen
|
||||||
08007844 g F .text 0000001c ComGetActiveInterfaceMaxTxLen
|
080090e4 g F .text 000000d8 UartReceivePacket
|
||||||
08008ec0 g F .text 000000d8 UartReceivePacket
|
080001ec g F .text 0000000a FileGetFirmwareFilenameHook
|
||||||
080001f0 g F .text 0000000a FileGetFirmwareFilenameHook
|
080096c4 g F .text 00000004 CpuIrqEnable
|
||||||
080094a0 g F .text 00000004 CpuIrqEnable
|
080005b8 g F .text 0000000a USBD_USR_DeviceDisconnected
|
||||||
080005bc g F .text 0000000a USBD_USR_DeviceDisconnected
|
08000674 g F .text 00000002 USB_OTG_BSP_EnableInterrupt
|
||||||
08000678 g F .text 00000002 USB_OTG_BSP_EnableInterrupt
|
08002c94 g F .text 000001a6 SD_ReadBlock
|
||||||
08002c98 g F .text 000001a6 SD_ReadBlock
|
08007490 g F .text 00000058 uip_arp_timer
|
||||||
08007358 g F .text 00000058 uip_arp_timer
|
0800096c g F .text 00000012 USBD_CtlContinueSendData
|
||||||
08000970 g F .text 00000012 USBD_CtlContinueSendData
|
|
||||||
20002810 g O .bss 00000002 uip_listenports
|
20002810 g O .bss 00000002 uip_listenports
|
||||||
20002814 g O .bss 00000004 uip_draddr
|
20002814 g O .bss 00000004 uip_draddr
|
||||||
080004e4 g F .text 0000000e USBD_USR_LangIDStrDescriptor
|
080004e0 g F .text 0000000e USBD_USR_LangIDStrDescriptor
|
||||||
080013e4 g F .text 00000020 USB_OTG_GetDeviceSpeed
|
080013e0 g F .text 00000020 USB_OTG_GetDeviceSpeed
|
||||||
20000000 g .data 00000000 _data
|
20000000 g .data 00000000 _data
|
||||||
0800373c g F .text 00000020 ETH_Start
|
08003744 g F .text 00000020 ETH_Start
|
||||||
20001a90 g O .bss 00000640 RxBuff
|
20001a90 g O .bss 00000640 RxBuff
|
||||||
08005edc g F .text 0000004a f_stat
|
08005f94 g F .text 00000054 f_stat
|
||||||
08007ef0 g F .text 00000002 CopInit
|
08008028 g F .text 00000002 CopInit
|
||||||
0800236c g F .text 0000002c SD_Detect
|
08002368 g F .text 0000002c SD_Detect
|
||||||
080086f8 g F .text 00000168 CanInit
|
0800891c g F .text 00000168 CanInit
|
||||||
080093e4 g F .text 00000008 NvmWrite
|
08009608 g F .text 00000008 NvmWrite
|
||||||
08008998 g F .text 0000003a CpuStartUserProgram
|
08008bbc g F .text 0000003a CpuStartUserProgram
|
||||||
08000efc g F .text 0000004c USBD_GetString
|
08000ef8 g F .text 0000004c USBD_GetString
|
||||||
08004928 g F .text 00000016 clust2sect
|
|
||||||
20003664 g .bss 00000000 _estack
|
20003664 g .bss 00000000 _estack
|
||||||
080040a0 g F .text 00000008 USART_SendData
|
080040a8 g F .text 00000008 USART_SendData
|
||||||
080091f8 g F .text 000000c8 UsbReceivePacket
|
0800941c g F .text 000000c8 UsbReceivePacket
|
||||||
08008ce8 g F .text 00000068 FlashVerifyChecksum
|
08008f0c g F .text 00000068 FlashVerifyChecksum
|
||||||
080078dc g F .text 00000044 NetTransmitPacket
|
08007a14 g F .text 00000044 NetTransmitPacket
|
||||||
200000ec g .data 00000000 _edata
|
200000ec g .data 00000000 _edata
|
||||||
08008024 g F .text 00000014 FileIsIdle
|
08008164 g F .text 00000014 FileIsIdle
|
||||||
08007208 g F .text 0000000a htons
|
08007340 g F .text 0000000a htons
|
||||||
08005aac g F .text 000001d8 f_write
|
08005b6c g F .text 000001b0 f_write
|
||||||
08001274 g F .text 00000050 USB_OTG_EnableDevInt
|
08001270 g F .text 00000050 USB_OTG_EnableDevInt
|
||||||
08000000 g O .text 00000188 _vectab
|
08000000 g O .text 00000188 _vectab
|
||||||
08000554 g F .text 0000001e USBD_USR_ConfigStrDescriptor
|
08000550 g F .text 0000001e USBD_USR_ConfigStrDescriptor
|
||||||
08005798 g F .text 0000016a f_open
|
0800586c g F .text 00000184 f_open
|
||||||
0800313c g F .text 0000006c disk_write
|
08003144 g F .text 00000074 disk_write
|
||||||
0800368c g F .text 00000026 ETH_MACReceptionCmd
|
08003694 g F .text 00000026 ETH_MACReceptionCmd
|
||||||
0800094c g F .text 00000022 USBD_CtlSendData
|
08000948 g F .text 00000022 USBD_CtlSendData
|
||||||
080002a0 g F .text 00000060 FileFirmwareUpdateLogHook
|
0800029c g F .text 00000060 FileFirmwareUpdateLogHook
|
||||||
200020d0 g O .bss 00000640 TxBuff
|
200020d0 g O .bss 00000640 TxBuff
|
||||||
200000e8 g O .data 00000004 __ctype_ptr__
|
200000e8 g O .data 00000004 __ctype_ptr__
|
||||||
08007860 g F .text 00000008 ComIsConnected
|
08007998 g F .text 00000008 ComIsConnected
|
||||||
08001404 g F .text 0000002a USB_OTG_EP0Activate
|
08001400 g F .text 0000002a USB_OTG_EP0Activate
|
||||||
08000fe8 g F .text 00000026 USB_OTG_ReadPacket
|
08000fe4 g F .text 00000026 USB_OTG_ReadPacket
|
||||||
08009f84 g O .text 00000101 _ctype_
|
0800a09c g O .text 00000101 _ctype_
|
||||||
080036ec g F .text 00000026 ETH_DMATransmissionCmd
|
080036f4 g F .text 00000026 ETH_DMATransmissionCmd
|
||||||
08003e70 g F .text 00000034 SDIO_Init
|
08003e78 g F .text 00000034 SDIO_Init
|
||||||
080001ac g F .text 00000044 FileIsFirmwareUpdateRequestedHook
|
080001ac g F .text 0000003e FileIsFirmwareUpdateRequestedHook
|
||||||
08001a00 g F .text 00000010 DCD_EP_SetAddress
|
080019fc g F .text 00000010 DCD_EP_SetAddress
|
||||||
08006280 g F .text 00000032 uip_init
|
080063b8 g F .text 00000032 uip_init
|
||||||
08002398 g F .text 0000027e SD_PowerON
|
08002394 g F .text 0000027e SD_PowerON
|
||||||
2000192c g O .bss 000000ff USBD_StrDesc
|
20001934 g O .bss 000000ff USBD_StrDesc
|
||||||
08007828 g F .text 0000001c ComGetActiveInterfaceMaxRxLen
|
08007960 g F .text 0000001c ComGetActiveInterfaceMaxRxLen
|
||||||
08003d80 g F .text 00000024 RCC_AHB1PeriphClockCmd
|
08003d88 g F .text 00000024 RCC_AHB1PeriphClockCmd
|
||||||
08007920 g F .text 0000010a NetReceivePacket
|
08007a58 g F .text 0000010a NetReceivePacket
|
||||||
080030d8 g F .text 00000064 disk_read
|
080030d4 g F .text 0000006e disk_read
|
||||||
08007e7c g F .text 0000004e BackDoorCheck
|
08007fb4 g F .text 0000004e BackDoorCheck
|
||||||
20002e64 g .bss 00000000 _stack
|
20002e64 g .bss 00000000 _stack
|
||||||
08003e34 g F .text 00000024 RCC_APB2PeriphResetCmd
|
08003e3c g F .text 00000024 RCC_APB2PeriphResetCmd
|
||||||
20002818 g O .bss 00000004 uip_netmask
|
20002818 g O .bss 00000004 uip_netmask
|
||||||
20000000 g O .data 00000020 usbd_bulk_CfgDesc
|
20000000 g O .data 00000020 usbd_bulk_CfgDesc
|
||||||
2000281c g O .bss 00000004 uip_hostaddr
|
2000281c g O .bss 00000004 uip_hostaddr
|
||||||
08006094 g F .text 0000004a ff_convert
|
08006154 g F .text 0000004a ff_convert
|
||||||
08009474 g F .text 00000012 TimerGet
|
08009698 g F .text 00000012 TimerGet
|
||||||
08003ebc g F .text 00000010 SDIO_GetPowerState
|
08003ec4 g F .text 00000010 SDIO_GetPowerState
|
||||||
080092c0 g F .text 000000ae UsbTransmitPipeBulkIN
|
080094e4 g F .text 000000ae UsbTransmitPipeBulkIN
|
||||||
20002780 g O .bss 00000010 EnetDmaTx
|
20002780 g O .bss 00000010 EnetDmaTx
|
||||||
08007a2c g F .text 00000070 NetApp
|
08007b64 g F .text 00000070 NetApp
|
||||||
2000004c g O .data 0000001c USR_desc
|
2000004c g O .data 0000001c USR_desc
|
||||||
08007868 g F .text 00000074 NetInit
|
080079a0 g F .text 00000074 NetInit
|
||||||
0800148c g F .text 00000042 USB_OTG_EPDeactivate
|
08001488 g F .text 00000042 USB_OTG_EPDeactivate
|
||||||
08002618 g F .text 000001a4 SD_InitializeCards
|
08002614 g F .text 000001a4 SD_InitializeCards
|
||||||
08003c70 g F .text 0000000c GPIO_ReadInputDataBit
|
08003c78 g F .text 0000000c GPIO_ReadInputDataBit
|
||||||
08009418 g F .text 00000028 TimerInit
|
0800963c g F .text 00000028 TimerInit
|
||||||
08003f68 g F .text 0000000e SDIO_WriteData
|
08003f70 g F .text 0000000e SDIO_WriteData
|
||||||
20002820 g O .bss 00000642 uip_buf
|
20002820 g O .bss 00000642 uip_buf
|
||||||
200000a0 g O .data 0000002c USBD_DCD_INT_cb
|
200000a0 g O .data 0000002c USBD_DCD_INT_cb
|
||||||
08007214 g F .text 0000002a uip_send
|
0800734c g F .text 0000002a uip_send
|
||||||
20002e62 g O .bss 00000002 uip_slen
|
20002e62 g O .bss 00000002 uip_slen
|
||||||
080001fc g F .text 00000030 FileFirmwareUpdateStartedHook
|
080001f8 g F .text 00000030 FileFirmwareUpdateStartedHook
|
||||||
08001168 g F .text 0000000e USB_OTG_EnableGlobalInt
|
08001164 g F .text 0000000e USB_OTG_EnableGlobalInt
|
||||||
08003e58 g F .text 00000018 SDIO_DeInit
|
08003e60 g F .text 00000018 SDIO_DeInit
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -2881,7 +2881,7 @@ static SD_Error FindSCR(uint16_t rca, uint32_t *pscr)
|
||||||
if (timeout > 10000)
|
if (timeout > 10000)
|
||||||
{
|
{
|
||||||
return SD_DATA_TIMEOUT;
|
return SD_DATA_TIMEOUT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SDIO_GetFlagStatus(SDIO_FLAG_DTIMEOUT) != RESET)
|
if (SDIO_GetFlagStatus(SDIO_FLAG_DTIMEOUT) != RESET)
|
||||||
|
@ -3186,7 +3186,7 @@ DSTATUS disk_status (BYTE drv)
|
||||||
* \param sector: start sector number (LBA)
|
* \param sector: start sector number (LBA)
|
||||||
* \param count: sector count
|
* \param count: sector count
|
||||||
*/
|
*/
|
||||||
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, BYTE count)
|
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, UINT count)
|
||||||
{
|
{
|
||||||
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
||||||
SD_Error sdstatus = SD_OK;
|
SD_Error sdstatus = SD_OK;
|
||||||
|
@ -3274,8 +3274,7 @@ DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, BYTE count)
|
||||||
* \param count: Sector count (1..255)
|
* \param count: Sector count (1..255)
|
||||||
* \note this function needs DMA access and is disabled if _READONLY is set
|
* \note this function needs DMA access and is disabled if _READONLY is set
|
||||||
*/
|
*/
|
||||||
#if _READONLY == 0
|
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, UINT count)
|
||||||
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
|
|
||||||
{
|
{
|
||||||
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
||||||
SD_Error sdstatus = SD_OK;
|
SD_Error sdstatus = SD_OK;
|
||||||
|
@ -3359,7 +3358,6 @@ DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
|
||||||
|
|
||||||
return RES_ERROR;
|
return RES_ERROR;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief ioctl implementation
|
* \brief ioctl implementation
|
||||||
|
@ -3416,19 +3414,8 @@ DRESULT disk_ioctl(BYTE drv, BYTE ctrl, void *buff)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief user provided timer function for FatFs module
|
|
||||||
*/
|
|
||||||
DWORD get_fattime(void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************* end of mmc.c ****************************************/
|
/********************************* end of mmc.c ****************************************/
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -73,14 +73,14 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>28</YPos2><SelStart2>2717</SelStart2><SelEnd2>2717</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>92</YPos2><SelStart2>3143</SelStart2><SelEnd2>3143</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>96</YPos2><SelStart2>617</SelStart2><SelEnd2>617</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>28</YPos2><SelStart2>2717</SelStart2><SelEnd2>2717</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>92</YPos2><SelStart2>7500</SelStart2><SelEnd2>7500</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-02A27A60><key>iaridepm.enu1</key></Toolbar-02A27A60></Sizes></Row0><Row1><Sizes><Toolbar-0C051330><key>debuggergui.enu1</key></Toolbar-0C051330></Sizes></Row1><Row2><Sizes><Toolbar-0C0513F8><key>armjlink2.enu1</key></Toolbar-0C0513F8></Sizes></Row2></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>717</Bottom><Right>303</Right><x>-2</x><y>-2</y><xscreen>201</xscreen><yscreen>200</yscreen><sizeHorzCX>104688</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>158854</sizeVertCX><sizeVertCY>713294</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>717</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>713294</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104688</sizeVertCX><sizeVertCY>198413</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-052EA5F0><key>iaridepm.enu1</key></Toolbar-052EA5F0></Sizes></Row0><Row1><Sizes><Toolbar-125BE950><key>debuggergui.enu1</key></Toolbar-125BE950></Sizes></Row1><Row2><Sizes><Toolbar-125BF760><key>armjlink2.enu1</key></Toolbar-125BF760></Sizes></Row2></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>716</Bottom><Right>303</Right><x>-2</x><y>-2</y><xscreen>201</xscreen><yscreen>200</yscreen><sizeHorzCX>104688</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>158854</sizeVertCX><sizeVertCY>713009</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>716</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>713009</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104688</sizeVertCX><sizeVertCY>198610</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ TriggerName=main
|
||||||
LimitSize=0
|
LimitSize=0
|
||||||
ByteLimit=50
|
ByteLimit=50
|
||||||
[DebugChecksum]
|
[DebugChecksum]
|
||||||
Checksum=183967822
|
Checksum=-1563361147
|
||||||
[Exceptions]
|
[Exceptions]
|
||||||
StopOnUncaught=_ 0
|
StopOnUncaught=_ 0
|
||||||
StopOnThrow=_ 0
|
StopOnThrow=_ 0
|
||||||
|
@ -29,6 +29,8 @@ Fmt1={W}0:block->base_addr 4 0
|
||||||
Fmt2={W}0:current_base_addr 4 0
|
Fmt2={W}0:current_base_addr 4 0
|
||||||
[CodeCoverage]
|
[CodeCoverage]
|
||||||
Enabled=_ 0
|
Enabled=_ 0
|
||||||
|
[RecentFlashDownload]
|
||||||
|
Path=C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\Boot\bin\openblt_olimex_stm32e407.srec
|
||||||
[Trace1]
|
[Trace1]
|
||||||
Enabled=0
|
Enabled=0
|
||||||
ShowSource=1
|
ShowSource=1
|
||||||
|
@ -48,7 +50,7 @@ Exclusions=
|
||||||
[CallStackLog]
|
[CallStackLog]
|
||||||
Enabled=0
|
Enabled=0
|
||||||
[CallStackStripe]
|
[CallStackStripe]
|
||||||
ShowTiming=80
|
ShowTiming=1
|
||||||
[Disassemble mode]
|
[Disassemble mode]
|
||||||
mode=0
|
mode=0
|
||||||
[Breakpoints2]
|
[Breakpoints2]
|
||||||
|
|
|
@ -42,20 +42,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-19870-1384</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-11216-22197</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16597-313</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab><Tab><Identity>TabID-7799-665</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab><Tab><Identity>TabID-26870-1945</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
|
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-19870-1384</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-11216-22197</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16597-313</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab><Tab><Identity>TabID-7799-665</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab><Tab><Identity>TabID-26870-1945</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd1></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>28</YPos2><SelStart2>2465</SelStart2><SelEnd2>2465</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>92</YPos2><SelStart2>7500</SelStart2><SelEnd2>7500</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>96</YPos2><SelStart2>617</SelStart2><SelEnd2>617</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>28</YPos2><SelStart2>2717</SelStart2><SelEnd2>2717</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>92</YPos2><SelStart2>7500</SelStart2><SelEnd2>7500</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-048DA5F0><key>iaridepm.enu1</key></Toolbar-048DA5F0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>354</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>185417</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>380</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>198958</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd1></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-049AA5F0><key>iaridepm.enu1</key></Toolbar-049AA5F0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>354</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>185417</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>415</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>217188</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd1></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -3186,7 +3186,7 @@ DSTATUS disk_status (BYTE drv)
|
||||||
* \param sector: start sector number (LBA)
|
* \param sector: start sector number (LBA)
|
||||||
* \param count: sector count
|
* \param count: sector count
|
||||||
*/
|
*/
|
||||||
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, BYTE count)
|
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, UINT count)
|
||||||
{
|
{
|
||||||
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
||||||
SD_Error sdstatus = SD_OK;
|
SD_Error sdstatus = SD_OK;
|
||||||
|
@ -3274,8 +3274,7 @@ DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, BYTE count)
|
||||||
* \param count: Sector count (1..255)
|
* \param count: Sector count (1..255)
|
||||||
* \note this function needs DMA access and is disabled if _READONLY is set
|
* \note this function needs DMA access and is disabled if _READONLY is set
|
||||||
*/
|
*/
|
||||||
#if _READONLY == 0
|
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, UINT count)
|
||||||
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
|
|
||||||
{
|
{
|
||||||
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
DWORD scratch [SD_BLOCKSIZE / 4]; /* Alignment ensured, need enough stack */
|
||||||
SD_Error sdstatus = SD_OK;
|
SD_Error sdstatus = SD_OK;
|
||||||
|
@ -3359,7 +3358,6 @@ DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
|
||||||
|
|
||||||
return RES_ERROR;
|
return RES_ERROR;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief ioctl implementation
|
* \brief ioctl implementation
|
||||||
|
@ -3416,19 +3414,8 @@ DRESULT disk_ioctl(BYTE drv, BYTE ctrl, void *buff)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief user provided timer function for FatFs module
|
|
||||||
*/
|
|
||||||
DWORD get_fattime(void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************* end of mmc.c ****************************************/
|
/********************************* end of mmc.c ****************************************/
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -497,12 +497,12 @@
|
||||||
|
|
||||||
1452182499 c:\users\voorburg\desktop\test\stm32p405\src\hw\led.h
|
1452182499 c:\users\voorburg\desktop\test\stm32p405\src\hw\led.h
|
||||||
|
|
||||||
1477571940 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\hooks.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\hooks.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
|
|
||||||
1477216154 c:\work\software\openblt\target\source\boot.h
|
1485627342 c:\work\software\openblt\target\source\boot.h
|
||||||
"types.h"
|
"types.h"
|
||||||
"assert.h"
|
"assert.h"
|
||||||
"blt_conf.h"
|
"blt_conf.h"
|
||||||
|
@ -515,59 +515,59 @@
|
||||||
"file.h"
|
"file.h"
|
||||||
"com.h"
|
"com.h"
|
||||||
|
|
||||||
1477295708 c:\work\software\openblt\target\source\armcm4_stm32f4\types.h
|
1485627343 c:\work\software\openblt\target\source\armcm4_stm32f4\types.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\assert.h
|
1485627196 c:\work\software\openblt\target\source\assert.h
|
||||||
|
|
||||||
1478123202 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\blt_conf.h
|
1487087229 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\blt_conf.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\plausibility.h
|
1485627342 c:\work\software\openblt\target\source\plausibility.h
|
||||||
|
|
||||||
1476728168 c:\work\software\openblt\target\source\cpu.h
|
1493026658 c:\work\software\openblt\target\source\cpu.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\cop.h
|
1485627344 c:\work\software\openblt\target\source\cop.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\nvm.h
|
1485627196 c:\work\software\openblt\target\source\nvm.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\timer.h
|
1485627344 c:\work\software\openblt\target\source\timer.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\backdoor.h
|
1485627195 c:\work\software\openblt\target\source\backdoor.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\file.h
|
1485627343 c:\work\software\openblt\target\source\file.h
|
||||||
"ff.h"
|
"ff.h"
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\com.h
|
1485627343 c:\work\software\openblt\target\source\com.h
|
||||||
"xcp.h"
|
"xcp.h"
|
||||||
|
|
||||||
1476783465 c:\work\software\openblt\target\source\xcp.h
|
1493026917 c:\work\software\openblt\target\source\xcp.h
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx.h
|
||||||
"core_cm4.h"
|
"core_cm4.h"
|
||||||
"system_stm32f4xx.h"
|
"system_stm32f4xx.h"
|
||||||
<stdint.h>
|
<stdint.h>
|
||||||
"stm32f4xx_conf.h"
|
"stm32f4xx_conf.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4.h
|
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4.h
|
||||||
<stdint.h>
|
<stdint.h>
|
||||||
<core_cmInstr.h>
|
<core_cmInstr.h>
|
||||||
<core_cmFunc.h>
|
<core_cmFunc.h>
|
||||||
<core_cm4_simd.h>
|
<core_cm4_simd.h>
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cminstr.h
|
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cminstr.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cmfunc.h
|
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cmfunc.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4_simd.h
|
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4_simd.h
|
||||||
<cmsis_iar.h>
|
<cmsis_iar.h>
|
||||||
<cmsis_ccs.h>
|
<cmsis_ccs.h>
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.h
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx_conf.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx_conf.h
|
||||||
"stm32f4xx_adc.h"
|
"stm32f4xx_adc.h"
|
||||||
"stm32f4xx_can.h"
|
"stm32f4xx_can.h"
|
||||||
"stm32f4xx_crc.h"
|
"stm32f4xx_crc.h"
|
||||||
|
@ -595,231 +595,231 @@
|
||||||
"stm32f4xx_wwdg.h"
|
"stm32f4xx_wwdg.h"
|
||||||
"misc.h"
|
"misc.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_adc.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_adc.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_can.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_can.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_crc.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_crc.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_cryp.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_cryp.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dac.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dac.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dbgmcu.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dbgmcu.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dcmi.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dcmi.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dma.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dma.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_exti.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_exti.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_flash.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_flash.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_fsmc.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_fsmc.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_hash.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_hash.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_gpio.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_gpio.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_i2c.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_i2c.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_iwdg.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_iwdg.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_pwr.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_pwr.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rcc.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rcc.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rng.h
|
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rng.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rtc.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rtc.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_sdio.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_sdio.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_spi.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_spi.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_syscfg.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_syscfg.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_tim.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_tim.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_usart.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_usart.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811542 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_wwdg.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_wwdg.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811541 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\misc.h
|
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\misc.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\misc.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\misc.c
|
||||||
"misc.h"
|
"misc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_adc.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_adc.c
|
||||||
"stm32f4xx_adc.h"
|
"stm32f4xx_adc.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_can.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_can.c
|
||||||
"stm32f4xx_can.h"
|
"stm32f4xx_can.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_crc.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_crc.c
|
||||||
"stm32f4xx_crc.h"
|
"stm32f4xx_crc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp.c
|
||||||
"stm32f4xx_cryp.h"
|
"stm32f4xx_cryp.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_aes.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_aes.c
|
||||||
"stm32f4xx_cryp.h"
|
"stm32f4xx_cryp.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_des.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_des.c
|
||||||
"stm32f4xx_cryp.h"
|
"stm32f4xx_cryp.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_tdes.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_tdes.c
|
||||||
"stm32f4xx_cryp.h"
|
"stm32f4xx_cryp.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dac.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dac.c
|
||||||
"stm32f4xx_dac.h"
|
"stm32f4xx_dac.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dbgmcu.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dbgmcu.c
|
||||||
"stm32f4xx_dbgmcu.h"
|
"stm32f4xx_dbgmcu.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dcmi.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dcmi.c
|
||||||
"stm32f4xx_dcmi.h"
|
"stm32f4xx_dcmi.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dma.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dma.c
|
||||||
"stm32f4xx_dma.h"
|
"stm32f4xx_dma.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_exti.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_exti.c
|
||||||
"stm32f4xx_exti.h"
|
"stm32f4xx_exti.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_flash.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_flash.c
|
||||||
"stm32f4xx_flash.h"
|
"stm32f4xx_flash.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_fsmc.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_fsmc.c
|
||||||
"stm32f4xx_fsmc.h"
|
"stm32f4xx_fsmc.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_gpio.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_gpio.c
|
||||||
"stm32f4xx_gpio.h"
|
"stm32f4xx_gpio.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash.c
|
||||||
"stm32f4xx_hash.h"
|
"stm32f4xx_hash.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_md5.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_md5.c
|
||||||
"stm32f4xx_hash.h"
|
"stm32f4xx_hash.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_sha1.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_sha1.c
|
||||||
"stm32f4xx_hash.h"
|
"stm32f4xx_hash.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_i2c.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_i2c.c
|
||||||
"stm32f4xx_i2c.h"
|
"stm32f4xx_i2c.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_iwdg.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_iwdg.c
|
||||||
"stm32f4xx_iwdg.h"
|
"stm32f4xx_iwdg.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_pwr.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_pwr.c
|
||||||
"stm32f4xx_pwr.h"
|
"stm32f4xx_pwr.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rcc.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rcc.c
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rng.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rng.c
|
||||||
"stm32f4xx_rng.h"
|
"stm32f4xx_rng.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rtc.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rtc.c
|
||||||
"stm32f4xx_rtc.h"
|
"stm32f4xx_rtc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_sdio.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_sdio.c
|
||||||
"stm32f4xx_sdio.h"
|
"stm32f4xx_sdio.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_spi.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_spi.c
|
||||||
"stm32f4xx_spi.h"
|
"stm32f4xx_spi.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_syscfg.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_syscfg.c
|
||||||
"stm32f4xx_syscfg.h"
|
"stm32f4xx_syscfg.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_tim.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_tim.c
|
||||||
"stm32f4xx_tim.h"
|
"stm32f4xx_tim.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_usart.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_usart.c
|
||||||
"stm32f4xx_usart.h"
|
"stm32f4xx_usart.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1453811540 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_wwdg.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_wwdg.c
|
||||||
"stm32f4xx_wwdg.h"
|
"stm32f4xx_wwdg.h"
|
||||||
"stm32f4xx_rcc.h"
|
"stm32f4xx_rcc.h"
|
||||||
|
|
||||||
1477491762 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.c
|
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.c
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1452181324 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\startup_stm32f4xx.s
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\startup_stm32f4xx.s
|
||||||
|
|
||||||
1477295648 source:c:\work\software\openblt\target\source\armcm4_stm32f4\can.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\can.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477295655 source:c:\work\software\openblt\target\source\armcm4_stm32f4\cpu.c
|
1493026617 source:c:\work\software\openblt\target\source\armcm4_stm32f4\cpu.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477295662 source:c:\work\software\openblt\target\source\armcm4_stm32f4\flash.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\flash.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
"stm32f4xx_conf.h"
|
"stm32f4xx_conf.h"
|
||||||
"flash_layout.c"
|
"flash_layout.c"
|
||||||
|
|
||||||
1477295748 source:c:\work\software\openblt\target\source\armcm4_stm32f4\gcc\cpu_comp.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\gcc\cpu_comp.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477295676 source:c:\work\software\openblt\target\source\armcm4_stm32f4\nvm.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\nvm.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"flash.h"
|
"flash.h"
|
||||||
|
|
||||||
1477295669 c:\work\software\openblt\target\source\armcm4_stm32f4\flash.h
|
1485627343 c:\work\software\openblt\target\source\armcm4_stm32f4\flash.h
|
||||||
|
|
||||||
1477295699 source:c:\work\software\openblt\target\source\armcm4_stm32f4\timer.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\timer.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1477554497 source:c:\work\software\openblt\target\source\armcm4_stm32f4\uart.c
|
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\uart.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
"stm32f4xx_conf.h"
|
"stm32f4xx_conf.h"
|
||||||
|
|
||||||
1477295721 source:c:\work\software\openblt\target\source\armcm4_stm32f4\usb.c
|
1491556363 source:c:\work\software\openblt\target\source\armcm4_stm32f4\usb.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"usb.h"
|
"usb.h"
|
||||||
"usb_core.h"
|
"usb_core.h"
|
||||||
|
@ -830,185 +830,185 @@
|
||||||
"usbd_desc.h"
|
"usbd_desc.h"
|
||||||
"usbd_bulk.h"
|
"usbd_bulk.h"
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\usb.h
|
1485627194 c:\work\software\openblt\target\source\usb.h
|
||||||
|
|
||||||
1477295250 source:c:\work\software\openblt\target\source\assert.c
|
1485627196 source:c:\work\software\openblt\target\source\assert.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469431756 source:c:\work\software\openblt\target\source\backdoor.c
|
1485627195 source:c:\work\software\openblt\target\source\backdoor.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1476728156 source:c:\work\software\openblt\target\source\boot.c
|
1485627196 source:c:\work\software\openblt\target\source\boot.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469431756 source:c:\work\software\openblt\target\source\com.c
|
1485627342 source:c:\work\software\openblt\target\source\com.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"can.h"
|
"can.h"
|
||||||
"uart.h"
|
"uart.h"
|
||||||
"usb.h"
|
"usb.h"
|
||||||
"net.h"
|
"net.h"
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\can.h
|
1485627196 c:\work\software\openblt\target\source\can.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\uart.h
|
1485627342 c:\work\software\openblt\target\source\uart.h
|
||||||
|
|
||||||
1469431761 c:\work\software\openblt\target\source\net.h
|
1485627344 c:\work\software\openblt\target\source\net.h
|
||||||
|
|
||||||
1469431756 source:c:\work\software\openblt\target\source\cop.c
|
1485627343 source:c:\work\software\openblt\target\source\cop.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1469281006 source:c:\work\software\openblt\target\source\file.c
|
1493282507 source:c:\work\software\openblt\target\source\file.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
<string.h>
|
<string.h>
|
||||||
<ctype.h>
|
<ctype.h>
|
||||||
|
|
||||||
1469431757 source:c:\work\software\openblt\target\source\net.c
|
1485627344 source:c:\work\software\openblt\target\source\net.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"netdev.h"
|
"netdev.h"
|
||||||
"uip.h"
|
"uip.h"
|
||||||
"uip_arp.h"
|
"uip_arp.h"
|
||||||
|
|
||||||
1476783463 source:c:\work\software\openblt\target\source\xcp.c
|
1493026773 source:c:\work\software\openblt\target\source\xcp.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1477492291 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"led.h"
|
"led.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1477492132 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.h
|
||||||
|
|
||||||
1477571585 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\main.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\main.c
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1477492858 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\flash_layout.c
|
1485627630 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\flash_layout.c
|
||||||
|
|
||||||
1474440706 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_core.c
|
1485627625 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_core.c
|
||||||
"usbd_core.h"
|
"usbd_core.h"
|
||||||
"usbd_req.h"
|
"usbd_req.h"
|
||||||
"usbd_ioreq.h"
|
"usbd_ioreq.h"
|
||||||
"usb_dcd_int.h"
|
"usb_dcd_int.h"
|
||||||
"usb_bsp.h"
|
"usb_bsp.h"
|
||||||
|
|
||||||
1474440706 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_core.h
|
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_core.h
|
||||||
"usb_dcd.h"
|
"usb_dcd.h"
|
||||||
"usbd_def.h"
|
"usbd_def.h"
|
||||||
"usbd_conf.h"
|
"usbd_conf.h"
|
||||||
|
|
||||||
1474440705 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd.h
|
||||||
"usb_core.h"
|
"usb_core.h"
|
||||||
|
|
||||||
1474440705 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_core.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_core.h
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
"usb_regs.h"
|
"usb_regs.h"
|
||||||
"usb_defines.h"
|
"usb_defines.h"
|
||||||
|
|
||||||
1474440704 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_conf.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_conf.h
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
|
|
||||||
1474440705 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_regs.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_regs.h
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
|
|
||||||
1474440705 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_defines.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_defines.h
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
|
|
||||||
1474440706 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_def.h
|
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_def.h
|
||||||
"usbd_conf.h"
|
"usbd_conf.h"
|
||||||
|
|
||||||
1474440704 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_conf.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_conf.h
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
|
|
||||||
1474440706 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_req.h
|
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_req.h
|
||||||
"usbd_def.h"
|
"usbd_def.h"
|
||||||
"usbd_core.h"
|
"usbd_core.h"
|
||||||
"usbd_conf.h"
|
"usbd_conf.h"
|
||||||
|
|
||||||
1474440706 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_ioreq.h
|
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_ioreq.h
|
||||||
"usbd_def.h"
|
"usbd_def.h"
|
||||||
"usbd_core.h"
|
"usbd_core.h"
|
||||||
|
|
||||||
1474440705 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd_int.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd_int.h
|
||||||
"usb_dcd.h"
|
"usb_dcd.h"
|
||||||
|
|
||||||
1474440705 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_bsp.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_bsp.h
|
||||||
"usb_core.h"
|
"usb_core.h"
|
||||||
"usb_conf.h"
|
"usb_conf.h"
|
||||||
|
|
||||||
1474440706 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_ioreq.c
|
1485627625 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_ioreq.c
|
||||||
"usbd_ioreq.h"
|
"usbd_ioreq.h"
|
||||||
|
|
||||||
1474440706 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_req.c
|
1485627625 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_req.c
|
||||||
"usbd_req.h"
|
"usbd_req.h"
|
||||||
"usbd_ioreq.h"
|
"usbd_ioreq.h"
|
||||||
"usbd_desc.h"
|
"usbd_desc.h"
|
||||||
|
|
||||||
1474440704 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.h
|
||||||
"usbd_def.h"
|
"usbd_def.h"
|
||||||
|
|
||||||
1474440705 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_core.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_core.c
|
||||||
"usb_core.h"
|
"usb_core.h"
|
||||||
"usb_bsp.h"
|
"usb_bsp.h"
|
||||||
|
|
||||||
1474440705 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd.c
|
||||||
"usb_dcd.h"
|
"usb_dcd.h"
|
||||||
"usb_bsp.h"
|
"usb_bsp.h"
|
||||||
|
|
||||||
1474440705 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd_int.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd_int.c
|
||||||
"usb_dcd_int.h"
|
"usb_dcd_int.h"
|
||||||
|
|
||||||
1474440714 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_bsp.c
|
1485627630 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_bsp.c
|
||||||
"usb_bsp.h"
|
"usb_bsp.h"
|
||||||
"usbd_conf.h"
|
"usbd_conf.h"
|
||||||
|
|
||||||
1474440704 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.c
|
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.c
|
||||||
"usbd_bulk.h"
|
"usbd_bulk.h"
|
||||||
"usbd_desc.h"
|
"usbd_desc.h"
|
||||||
"usbd_req.h"
|
"usbd_req.h"
|
||||||
|
|
||||||
1474440704 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.h
|
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.h
|
||||||
"usbd_ioreq.h"
|
"usbd_ioreq.h"
|
||||||
|
|
||||||
1474440714 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.c
|
1485627630 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.c
|
||||||
"usbd_core.h"
|
"usbd_core.h"
|
||||||
"usbd_desc.h"
|
"usbd_desc.h"
|
||||||
"usbd_req.h"
|
"usbd_req.h"
|
||||||
"usbd_conf.h"
|
"usbd_conf.h"
|
||||||
"usb_regs.h"
|
"usb_regs.h"
|
||||||
|
|
||||||
1474440713 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_usr.c
|
1485627630 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_usr.c
|
||||||
"usbd_usr.h"
|
"usbd_usr.h"
|
||||||
"usbd_ioreq.h"
|
"usbd_ioreq.h"
|
||||||
"boot.h"
|
"boot.h"
|
||||||
"usb.h"
|
"usb.h"
|
||||||
|
|
||||||
1474440706 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_usr.h
|
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_usr.h
|
||||||
"usbd_core.h"
|
"usbd_core.h"
|
||||||
|
|
||||||
1456841907 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
|
||||||
"integer.h"
|
"integer.h"
|
||||||
"ffconf.h"
|
"ffconf.h"
|
||||||
|
|
||||||
1453811453 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
|
||||||
<windows.h>
|
<windows.h>
|
||||||
<tchar.h>
|
<tchar.h>
|
||||||
|
|
||||||
1453811539 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\ffconf.h
|
1493280503 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\ffconf.h
|
||||||
|
|
||||||
1477571442 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\mmc.c
|
1493288739 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\mmc.c
|
||||||
"diskio.h"
|
"diskio.h"
|
||||||
"stm32f4xx.h"
|
"stm32f4xx.h"
|
||||||
"boot.h"
|
"boot.h"
|
||||||
|
|
||||||
1456841906 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
|
||||||
"integer.h"
|
"integer.h"
|
||||||
|
|
||||||
1477296647 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
|
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
|
||||||
"ff.h"
|
"ff.h"
|
||||||
"diskio.h"
|
"diskio.h"
|
||||||
<stdarg.h>
|
<stdarg.h>
|
||||||
|
|
||||||
1453811453 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
|
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
"cc932.c"
|
"cc932.c"
|
||||||
"cc936.c"
|
"cc936.c"
|
||||||
|
@ -1016,18 +1016,18 @@
|
||||||
"cc950.c"
|
"cc950.c"
|
||||||
"ccsbcs.c"
|
"ccsbcs.c"
|
||||||
|
|
||||||
1456841901 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
1456841902 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
|
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
|
||||||
"../ff.h"
|
"../ff.h"
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
<Add option="$device=cortex-m4" />
|
<Add option="$device=cortex-m4" />
|
||||||
<Add option="$fpu=fpv4-sp-d16" />
|
<Add option="$fpu=fpv4-sp-d16" />
|
||||||
<Add option="$lscript=../cfg/stm32f405rg_flash.ld" />
|
<Add option="$lscript=../cfg/stm32f405rg_flash.ld" />
|
||||||
<Add option="$stack=0x0400" />
|
<Add option="$stack=0x0800" />
|
||||||
<Add option="$heap=0x0000" />
|
<Add option="$heap=0x0000" />
|
||||||
</Device>
|
</Device>
|
||||||
<Compiler>
|
<Compiler>
|
||||||
|
|
|
@ -21,6 +21,11 @@
|
||||||
<Cursor1 position="2090" topLine="19" />
|
<Cursor1 position="2090" topLine="19" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
|
<File name="..\lib\fatfs\mmc.c" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="8844" topLine="227" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
<File name="..\lib\SPL\inc\stm32f4xx_rcc.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="..\lib\SPL\inc\stm32f4xx_rcc.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="15860" topLine="331" />
|
<Cursor1 position="15860" topLine="331" />
|
||||||
|
@ -51,9 +56,9 @@
|
||||||
<Cursor1 position="1160" topLine="45" />
|
<Cursor1 position="1160" topLine="45" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="..\main.c" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="..\main.c" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="2691" topLine="35" />
|
<Cursor1 position="2693" topLine="35" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="..\startup_stm32f4xx.S" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="..\startup_stm32f4xx.S" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
|
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -23,6 +23,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -243,8 +255,8 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
|
||||||
|
@ -297,7 +309,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -307,7 +319,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
} while ((token == 0xFF) && (TimerGet() < timeOutTime));
|
} while ((token == 0xFF) && (TimerGet() < timeOutTime));
|
||||||
|
|
||||||
if(token != 0xFE) return 0; /* If not valid data token, retutn with error */
|
if(token != 0xFE) return 0; /* If not valid data token, retutn with error */
|
||||||
|
|
||||||
do { /* Receive the data block into buffer */
|
do { /* Receive the data block into buffer */
|
||||||
rcvr_spi_m(buff++);
|
rcvr_spi_m(buff++);
|
||||||
rcvr_spi_m(buff++);
|
rcvr_spi_m(buff++);
|
||||||
|
@ -324,7 +336,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -353,7 +364,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -419,7 +429,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -487,10 +497,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive number (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -523,12 +533,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -557,7 +566,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -565,7 +573,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -663,26 +670,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Wnd0>
|
<Wnd3>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-6158-952</Identity>
|
<Identity>TabID-6158-952</Identity>
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
|
<SelectedTab>0</SelectedTab></Wnd3><Wnd4>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-16907-955</Identity>
|
<Identity>TabID-16907-955</Identity>
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd1><Wnd2>
|
<SelectedTab>0</SelectedTab></Wnd4><Wnd5>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-27655-958</Identity>
|
<Identity>TabID-27655-958</Identity>
|
||||||
|
@ -77,20 +77,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd2></Windows>
|
<SelectedTab>0</SelectedTab></Wnd5></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>76</YPos2><SelStart2>5954</SelStart2><SelEnd2>5954</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>36</YPos2><SelStart2>2831</SelStart2><SelEnd2>2831</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>225</YPos2><SelStart2>5481</SelStart2><SelEnd2>5481</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usbdesc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>424</YPos2><SelStart2>18098</SelStart2><SelEnd2>18098</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usb-ids.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>1320</SelStart2><SelEnd2>1320</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>698</SelStart2><SelEnd2>698</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>135</YPos2><SelStart2>5441</SelStart2><SelEnd2>5441</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>76</YPos2><SelStart2>5954</SelStart2><SelEnd2>5954</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>36</YPos2><SelStart2>2831</SelStart2><SelEnd2>2831</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>225</YPos2><SelStart2>5481</SelStart2><SelEnd2>5481</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usbdesc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>424</YPos2><SelStart2>18098</SelStart2><SelEnd2>18098</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usb-ids.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>1320</SelStart2><SelEnd2>1320</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>698</SelStart2><SelEnd2>698</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>135</YPos2><SelStart2>5441</SelStart2><SelEnd2>5441</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>206</YPos2><SelStart2>7889</SelStart2><SelEnd2>7889</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-02C17138><key>iaridepm.enu1</key></Toolbar-02C17138></Sizes></Row0><Row1><Sizes><Toolbar-09EB93F8><key>debuggergui.enu1</key></Toolbar-09EB93F8></Sizes></Row1><Row2><Sizes/></Row2></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>341</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>178646</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd2></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198413</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-0629A660><key>iaridepm.enu1</key></Toolbar-0629A660></Sizes></Row0><Row1><Sizes><Toolbar-0B76D828><key>debuggergui.enu1</key></Toolbar-0B76D828></Sizes></Row1></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>341</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>178646</sizeVertCX><sizeVertCY>736842</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>736842</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198610</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ LMIFTDIserialNo=0D11005A
|
||||||
LMIFTDIfoundProbes=
|
LMIFTDIfoundProbes=
|
||||||
LMI_LeaveTargetRunning=0x00000000
|
LMI_LeaveTargetRunning=0x00000000
|
||||||
[DebugChecksum]
|
[DebugChecksum]
|
||||||
Checksum=-509141111
|
Checksum=-1186740258
|
||||||
[Exceptions]
|
[Exceptions]
|
||||||
StopOnUncaught=_ 0
|
StopOnUncaught=_ 0
|
||||||
StopOnThrow=_ 0
|
StopOnThrow=_ 0
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build><Find-All-Declarations><ColumnWidth0>142</ColumnWidth0><ColumnWidth1>20</ColumnWidth1><ColumnWidth2>243</ColumnWidth2></Find-All-Declarations><TerminalIO/><Debug-Log><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>371</ColumnWidth1></Debug-Log><Find-in-Files><ColumnWidth0>136</ColumnWidth0><ColumnWidth1>19</ColumnWidth1><ColumnWidth2>234</ColumnWidth2></Find-in-Files><PROJECT_GUI_CALL_GRAPH><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>File</item><item>Function</item><item>Line</item></col-names><col-widths><item>200</item><item>700</item><item>100</item></col-widths></PROJECT_GUI_CALL_GRAPH><Select-Ambiguous-Definitions><ColumnWidth0>136</ColumnWidth0><ColumnWidth1>19</ColumnWidth1><ColumnWidth2>234</ColumnWidth2></Select-Ambiguous-Definitions></Static>
|
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build><Find-All-Declarations><ColumnWidth0>142</ColumnWidth0><ColumnWidth1>20</ColumnWidth1><ColumnWidth2>243</ColumnWidth2></Find-All-Declarations><TerminalIO/><Debug-Log><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>371</ColumnWidth1></Debug-Log><Find-in-Files><ColumnWidth0>136</ColumnWidth0><ColumnWidth1>19</ColumnWidth1><ColumnWidth2>234</ColumnWidth2></Find-in-Files><PROJECT_GUI_CALL_GRAPH><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>File</item><item>Function</item><item>Line</item></col-names><col-widths><item>200</item><item>700</item><item>100</item></col-widths></PROJECT_GUI_CALL_GRAPH><Select-Ambiguous-Definitions><ColumnWidth0>136</ColumnWidth0><ColumnWidth1>19</ColumnWidth1><ColumnWidth2>234</ColumnWidth2></Select-Ambiguous-Definitions></Static>
|
||||||
<Windows>
|
<Windows>
|
||||||
|
|
||||||
<Wnd0>
|
<Wnd2>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-23736-13759</Identity>
|
<Identity>TabID-23736-13759</Identity>
|
||||||
|
@ -29,20 +29,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-11003-23003</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-13665-29690</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab><Tab><Identity>TabID-2562-1429</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-23273-22207</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-14368-8233</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
|
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-11003-23003</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-13665-29690</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab><Tab><Identity>TabID-2562-1429</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-23273-22207</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-14368-8233</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>76</YPos2><SelStart2>5954</SelStart2><SelEnd2>5954</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>36</YPos2><SelStart2>2831</SelStart2><SelEnd2>2831</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>225</YPos2><SelStart2>5481</SelStart2><SelEnd2>5481</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usbdesc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>424</YPos2><SelStart2>18098</SelStart2><SelEnd2>18098</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usb-ids.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>1320</SelStart2><SelEnd2>1320</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>698</SelStart2><SelEnd2>698</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>135</YPos2><SelStart2>5441</SelStart2><SelEnd2>5441</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>76</YPos2><SelStart2>5954</SelStart2><SelEnd2>5954</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>36</YPos2><SelStart2>2846</SelStart2><SelEnd2>2846</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>225</YPos2><SelStart2>5481</SelStart2><SelEnd2>5481</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usbdesc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>424</YPos2><SelStart2>18098</SelStart2><SelEnd2>18098</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\usb-ids.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>1320</SelStart2><SelEnd2>1320</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>698</SelStart2><SelEnd2>698</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\usblib\config\usb_bulk_structs.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>135</YPos2><SelStart2>5441</SelStart2><SelEnd2>5441</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>206</YPos2><SelStart2>7889</SelStart2><SelEnd2>7889</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-05DBA660><key>iaridepm.enu1</key></Toolbar-05DBA660></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>578</Bottom><Right>403</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>210938</sizeVertCX><sizeVertCY>575968</sizeVertCY></Rect></Wnd0><Wnd1><Rect><Top>0</Top><Left>0</Left><Bottom>6881384</Bottom><Right>7536751</Right><x>-2</x><y>576</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>210938</sizeVertCX><sizeVertCY>383317</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-0629A660><key>iaridepm.enu1</key></Toolbar-0629A660></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>578</Bottom><Right>403</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>210938</sizeVertCX><sizeVertCY>575968</sizeVertCY></Rect></Wnd2><Wnd3><Rect><Top>0</Top><Left>0</Left><Bottom>0</Bottom><Right>7</Right><x>-2</x><y>576</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>210938</sizeVertCX><sizeVertCY>383317</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,192 +1,266 @@
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013
|
/ FatFs - FAT file system module configuration file R0.12 (C)ChaN, 2016
|
||||||
/----------------------------------------------------------------------------/
|
/---------------------------------------------------------------------------*/
|
||||||
/
|
|
||||||
/ CAUTION! Do not forget to make clean the project after any changes to
|
|
||||||
/ the configuration options.
|
|
||||||
/
|
|
||||||
/----------------------------------------------------------------------------*/
|
|
||||||
#ifndef _FFCONF
|
|
||||||
#define _FFCONF 82786 /* Revision ID */
|
|
||||||
|
|
||||||
|
#define _FFCONF 88100 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Functions and Buffer Configurations
|
/ Function Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _FS_TINY 0 /* 0:Normal or 1:Tiny */
|
#define _FS_READONLY 0
|
||||||
/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
||||||
/ object instead of the sector buffer in the individual file object for file
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
||||||
/ data transfer. This reduces memory consumption 512 bytes each file object. */
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
||||||
|
/ and optional writing functions as well. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */
|
#define _FS_MINIMIZE 0
|
||||||
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
|
/* This option defines minimization level to remove some basic API functions.
|
||||||
/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
|
|
||||||
/ f_truncate and useless f_getfree. */
|
|
||||||
|
|
||||||
|
|
||||||
#define _FS_MINIMIZE 0 /* 0 to 3 */
|
|
||||||
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
|
|
||||||
/
|
/
|
||||||
/ 0: Full function.
|
/ 0: All basic functions are enabled.
|
||||||
/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename()
|
||||||
/ are removed.
|
/ are removed.
|
||||||
/ 2: f_opendir and f_readdir are removed in addition to 1.
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
||||||
/ 3: f_lseek is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */
|
||||||
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable string functions.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_MKFS 0 /* 0:Disable or 1:Enable */
|
#define _USE_FIND 0
|
||||||
/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */
|
#define _USE_MKFS 0
|
||||||
/* To enable fast seek feature, set _USE_FASTSEEK to 1. */
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LABEL 0 /* 0:Disable or 1:Enable */
|
#define _USE_FASTSEEK 0
|
||||||
/* To enable volume label functions, set _USE_LAVEL to 1 */
|
/* This option switches fast seek function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */
|
#define _USE_EXPAND 0
|
||||||
/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
|
/* This option switches f_expand function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_CHMOD 0
|
||||||
|
/* This option switches attribute manipulation functions, f_chmod() and f_utime().
|
||||||
|
/ (0:Disable or 1:Enable) Also _FS_READONLY needs to be 0 to enable this option. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_LABEL 0
|
||||||
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
||||||
|
/ (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_FORWARD 0
|
||||||
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
||||||
|
/ To enable it, also _FS_TINY need to be 1. */
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _CODE_PAGE 437
|
#define _CODE_PAGE 437
|
||||||
/* The _CODE_PAGE specifies the OEM code page to be used on the target system.
|
/* This option specifies the OEM code page to be used on the target system.
|
||||||
/ Incorrect setting of the code page can cause a file open failure.
|
/ Incorrect setting of the code page can cause a file open failure.
|
||||||
/
|
/
|
||||||
/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows)
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
||||||
/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
|
/ 437 - U.S.
|
||||||
/ 949 - Korean (DBCS, OEM, Windows)
|
/ 720 - Arabic
|
||||||
/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
|
/ 737 - Greek
|
||||||
/ 1250 - Central Europe (Windows)
|
/ 771 - KBL
|
||||||
/ 1251 - Cyrillic (Windows)
|
/ 775 - Baltic
|
||||||
/ 1252 - Latin 1 (Windows)
|
/ 850 - Latin 1
|
||||||
/ 1253 - Greek (Windows)
|
/ 852 - Latin 2
|
||||||
/ 1254 - Turkish (Windows)
|
/ 855 - Cyrillic
|
||||||
/ 1255 - Hebrew (Windows)
|
/ 857 - Turkish
|
||||||
/ 1256 - Arabic (Windows)
|
/ 860 - Portuguese
|
||||||
/ 1257 - Baltic (Windows)
|
/ 861 - Icelandic
|
||||||
/ 1258 - Vietnam (OEM, Windows)
|
/ 862 - Hebrew
|
||||||
/ 437 - U.S. (OEM)
|
/ 863 - Canadian French
|
||||||
/ 720 - Arabic (OEM)
|
/ 864 - Arabic
|
||||||
/ 737 - Greek (OEM)
|
/ 865 - Nordic
|
||||||
/ 775 - Baltic (OEM)
|
/ 866 - Russian
|
||||||
/ 850 - Multilingual Latin 1 (OEM)
|
/ 869 - Greek 2
|
||||||
/ 858 - Multilingual Latin 1 + Euro (OEM)
|
/ 932 - Japanese (DBCS)
|
||||||
/ 852 - Latin 2 (OEM)
|
/ 936 - Simplified Chinese (DBCS)
|
||||||
/ 855 - Cyrillic (OEM)
|
/ 949 - Korean (DBCS)
|
||||||
/ 866 - Russian (OEM)
|
/ 950 - Traditional Chinese (DBCS)
|
||||||
/ 857 - Turkish (OEM)
|
|
||||||
/ 862 - Hebrew (OEM)
|
|
||||||
/ 874 - Thai (OEM, Windows)
|
|
||||||
/ 1 - ASCII only (Valid for non LFN cfg.)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define _USE_LFN 1 /* 0 to 3 */
|
#define _USE_LFN 1 /* 0 to 3 */
|
||||||
#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define _MAX_LFN 255
|
||||||
/* The _USE_LFN option switches the LFN support.
|
/* The _USE_LFN switches the support of long file name (LFN).
|
||||||
/
|
/
|
||||||
/ 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
|
/ 0: Disable support of LFN. _MAX_LFN has no effect.
|
||||||
/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
||||||
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
||||||
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
||||||
/
|
/
|
||||||
/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
|
/ To enable the LFN, Unicode handling functions (option/unicode.c) must be added
|
||||||
/ Unicode handling functions ff_convert() and ff_wtoupper() must be added
|
/ to the project. The working buffer occupies (_MAX_LFN + 1) * 2 bytes and
|
||||||
/ to the project. When enable to use heap, memory control functions
|
/ additional 608 bytes at exFAT enabled. _MAX_LFN can be in range from 12 to 255.
|
||||||
/ ff_memalloc() and ff_memfree() must be added to the project. */
|
/ It should be set 255 to support full featured LFN operations.
|
||||||
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
||||||
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
||||||
|
/ ff_memfree(), must be added to the project. */
|
||||||
|
|
||||||
|
|
||||||
#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define _LFN_UNICODE 0
|
||||||
/* To switch the character code set on FatFs API to Unicode,
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
||||||
/ enable LFN feature and set _LFN_UNICODE to 1. */
|
/ To use Unicode string for the path name, enable LFN and set _LFN_UNICODE = 1.
|
||||||
|
/ This option also affects behavior of string I/O functions. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_RPATH 0 /* 0 to 2 */
|
#define _STRF_ENCODE 3
|
||||||
/* The _FS_RPATH option configures relative path feature.
|
/* When _LFN_UNICODE == 1, this option selects the character encoding on the file to
|
||||||
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
||||||
/
|
/
|
||||||
/ 0: Disable relative path feature and remove related functions.
|
/ 0: ANSI/OEM
|
||||||
/ 1: Enable relative path. f_chdrive() and f_chdir() are available.
|
/ 1: UTF-16LE
|
||||||
/ 2: f_getcwd() is available in addition to 1.
|
/ 2: UTF-16BE
|
||||||
|
/ 3: UTF-8
|
||||||
/
|
/
|
||||||
/ Note that output of the f_readdir fnction is affected by this option. */
|
/ This option has no effect when _LFN_UNICODE == 0. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_RPATH 0
|
||||||
|
/* This option configures support of relative path.
|
||||||
|
/
|
||||||
|
/ 0: Disable relative path and remove related functions.
|
||||||
|
/ 1: Enable relative path. f_chdir() and f_chdrive() are available.
|
||||||
|
/ 2: f_getcwd() function is available in addition to 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Physical Drive Configurations
|
/ Drive/Volume Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _VOLUMES 1
|
#define _VOLUMES 1
|
||||||
/* Number of volumes (logical drives) to be used. */
|
/* Number of volumes (logical drives) to be used. */
|
||||||
|
|
||||||
|
|
||||||
#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
|
#define _STR_VOLUME_ID 0
|
||||||
/* Maximum sector size to be handled.
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
||||||
/ Always set 512 for memory card and hard disk but a larger value may be
|
/* _STR_VOLUME_ID switches string support of volume ID.
|
||||||
/ required for on-board flash memory, floppy disk and optical disk.
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
||||||
/ When _MAX_SS is larger than 512, it configures FatFs to variable sector size
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
||||||
/ and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
||||||
|
/ the drive ID strings are: A-Z and 0-9. */
|
||||||
|
|
||||||
|
|
||||||
#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */
|
#define _MULTI_PARTITION 0
|
||||||
/* When set to 0, each volume is bound to the same physical drive number and
|
/* This option switches support of multi-partition on a physical drive.
|
||||||
/ it can mount only first primaly partition. When it is set to 1, each volume
|
/ By default (0), each logical drive number is bound to the same physical drive
|
||||||
/ is tied to the partitions listed in VolToPart[]. */
|
/ number and only an FAT volume found on the physical drive will be mounted.
|
||||||
|
/ When multi-partition is enabled (1), each logical drive number can be bound to
|
||||||
|
/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk()
|
||||||
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define _USE_ERASE 0 /* 0:Disable or 1:Enable */
|
#define _MIN_SS 512
|
||||||
/* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command
|
#define _MAX_SS 512
|
||||||
/ should be added to the disk_ioctl functio. */
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
||||||
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
||||||
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
||||||
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
||||||
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _USE_TRIM 0
|
||||||
|
/* This option switches support of ATA-TRIM. (0:Disable or 1:Enable)
|
||||||
|
/ To enable Trim function, also CTRL_TRIM command should be implemented to the
|
||||||
|
/ disk_ioctl() function. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NOFSINFO 0
|
||||||
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
||||||
|
/ option, and f_getfree() function at first time after volume mount will force
|
||||||
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
||||||
|
/
|
||||||
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
||||||
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
||||||
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
||||||
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ System Configurations
|
/ System Configurations
|
||||||
/----------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define _WORD_ACCESS 0 /* 0 or 1 */
|
#define _FS_TINY 0
|
||||||
/* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
||||||
/ option defines which access method is used to the word data on the FAT volume.
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS bytes.
|
||||||
|
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||||
|
/ buffer in the file system object (FATFS) is used for the file data transfer. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_EXFAT 0
|
||||||
|
/* This option switches support of exFAT file system in addition to the traditional
|
||||||
|
/ FAT file system. (0:Disable or 1:Enable) To enable exFAT, also LFN must be enabled.
|
||||||
|
/ Note that enabling exFAT discards C89 compatibility. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_NORTC 1
|
||||||
|
#define _NORTC_MON 3
|
||||||
|
#define _NORTC_MDAY 1
|
||||||
|
#define _NORTC_YEAR 2016
|
||||||
|
/* The option _FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
|
/ any RTC function or valid timestamp is not needed, set _FS_NORTC = 1 to disable
|
||||||
|
/ the timestamp function. All objects modified by FatFs will have a fixed timestamp
|
||||||
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR in local time.
|
||||||
|
/ To enable timestamp function (_FS_NORTC = 0), get_fattime() function need to be
|
||||||
|
/ added to the project to get current time form real-time clock. _NORTC_MON,
|
||||||
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
||||||
|
/ These options have no effect at read-only configuration (_FS_READONLY = 1). */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_LOCK 0
|
||||||
|
/* The option _FS_LOCK switches file lock function to control duplicated file open
|
||||||
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
||||||
|
/ is 1.
|
||||||
/
|
/
|
||||||
/ 0: Byte-by-byte access.
|
/ 0: Disable file lock function. To avoid volume corruption, application program
|
||||||
/ 1: Word access. Do not choose this unless following condition is met.
|
/ should avoid illegal open, remove and rename to the open objects.
|
||||||
|
/ >0: Enable file lock function. The value defines how many files/sub-directories
|
||||||
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
|
#define _FS_REENTRANT 0
|
||||||
|
#define _FS_TIMEOUT 1000
|
||||||
|
#define _SYNC_t HANDLE
|
||||||
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
||||||
|
/ to the same volume is under control of this function.
|
||||||
/
|
/
|
||||||
/ When the byte order on the memory is big-endian or address miss-aligned word
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
||||||
/ access results incorrect behavior, the _WORD_ACCESS must be set to 0.
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
||||||
/ If it is not the case, the value can also be set to 1 to improve the
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
||||||
/ performance and code size.
|
/ function, must be added to the project. Samples are available in
|
||||||
*/
|
/ option/syscall.c.
|
||||||
|
|
||||||
|
|
||||||
/* A header file that defines sync object types on the O/S, such as
|
|
||||||
/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */
|
|
||||||
|
|
||||||
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
|
||||||
#define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
|
|
||||||
|
|
||||||
/* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module.
|
|
||||||
/
|
/
|
||||||
/ 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
||||||
/ 1: Enable reentrancy. Also user provided synchronization handlers,
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
||||||
/ ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ function must be added to the project. */
|
/ included somewhere in the scope of ff.c. */
|
||||||
|
|
||||||
|
|
||||||
#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */
|
/*--- End of configuration options ---*/
|
||||||
/* To enable file lock control feature, set _FS_LOCK to 1 or greater.
|
|
||||||
The value defines how many files can be opened simultaneously. */
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _FFCONFIG */
|
|
||||||
|
|
|
@ -32,6 +32,18 @@
|
||||||
#include "boot.h"
|
#include "boot.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Macro Definitions
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
/* MMC card type flags (MMC_GET_TYPE) */
|
||||||
|
#define CT_MMC 0x01 /* MMC ver 3 */
|
||||||
|
#define CT_SD1 0x02 /* SD ver 1 */
|
||||||
|
#define CT_SD2 0x04 /* SD ver 2 */
|
||||||
|
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
|
||||||
|
#define CT_BLOCK 0x08 /* Block addressing */
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -219,7 +231,7 @@ static
|
||||||
int wait_ready (void)
|
int wait_ready (void)
|
||||||
{
|
{
|
||||||
BYTE d;
|
BYTE d;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 500 ms from now */
|
/* set timeout for 500 ms from now */
|
||||||
timeOutTime = TimerGet() + 500;
|
timeOutTime = TimerGet() + 500;
|
||||||
|
@ -273,7 +285,7 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE token;
|
BYTE token;
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
/* set timeout for 100 ms from now */
|
/* set timeout for 100 ms from now */
|
||||||
timeOutTime = TimerGet() + 100;
|
timeOutTime = TimerGet() + 100;
|
||||||
|
@ -300,7 +312,6 @@ int rcvr_datablock ( /* 1:OK, 0:Failed */
|
||||||
/* Send a data packet to MMC */
|
/* Send a data packet to MMC */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
static
|
static
|
||||||
int xmit_datablock ( /* 1:OK, 0:Failed */
|
int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
const BYTE *buff, /* 512 byte data block to be transmitted */
|
const BYTE *buff, /* 512 byte data block to be transmitted */
|
||||||
|
@ -329,7 +340,6 @@ int xmit_datablock ( /* 1:OK, 0:Failed */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -395,7 +405,7 @@ DSTATUS disk_initialize (
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BYTE n, cmd, ty, ocr[4];
|
BYTE n, cmd, ty, ocr[4];
|
||||||
ULONG timeOutTime;
|
DWORD timeOutTime;
|
||||||
|
|
||||||
|
|
||||||
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
if (pdrv) return STA_NOINIT; /* Supports only single drive */
|
||||||
|
@ -463,10 +473,10 @@ DSTATUS disk_status (
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
DRESULT disk_read (
|
DRESULT disk_read (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
BYTE *buff, /* Pointer to the data buffer to store read data */
|
BYTE *buff, /* Data buffer to store read data */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to read */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -499,12 +509,11 @@ DRESULT disk_read (
|
||||||
/* Write Sector(s) */
|
/* Write Sector(s) */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_WRITE
|
|
||||||
DRESULT disk_write (
|
DRESULT disk_write (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||||
const BYTE *buff, /* Pointer to the data to be written */
|
const BYTE *buff, /* Data to be written */
|
||||||
DWORD sector, /* Start sector number (LBA) */
|
DWORD sector, /* Sector address in LBA */
|
||||||
BYTE count /* Sector count (1..255) */
|
UINT count /* Number of sectors to write */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (pdrv || !count) return RES_PARERR;
|
if (pdrv || !count) return RES_PARERR;
|
||||||
|
@ -533,7 +542,6 @@ DRESULT disk_write (
|
||||||
|
|
||||||
return count ? RES_ERROR : RES_OK;
|
return count ? RES_ERROR : RES_OK;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -541,7 +549,6 @@ DRESULT disk_write (
|
||||||
/* Miscellaneous Functions */
|
/* Miscellaneous Functions */
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if _USE_IOCTL
|
|
||||||
DRESULT disk_ioctl (
|
DRESULT disk_ioctl (
|
||||||
BYTE pdrv, /* Physical drive nmuber (0) */
|
BYTE pdrv, /* Physical drive nmuber (0) */
|
||||||
BYTE cmd, /* Control code */
|
BYTE cmd, /* Control code */
|
||||||
|
@ -623,7 +630,7 @@ DRESULT disk_ioctl (
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MMC_GET_SDSTAT : /* Receive SD statsu as a data block (64 bytes) */
|
case MMC_GET_SDSTAT : /* Receive SD status as a data block (64 bytes) */
|
||||||
if ((CardType & CT_SD2) && send_cmd(ACMD13, 0) == 0) { /* SD_STATUS */
|
if ((CardType & CT_SD2) && send_cmd(ACMD13, 0) == 0) { /* SD_STATUS */
|
||||||
xchg_spi(0xFF);
|
xchg_spi(0xFF);
|
||||||
if (rcvr_datablock(buff, 64))
|
if (rcvr_datablock(buff, 64))
|
||||||
|
@ -639,27 +646,6 @@ DRESULT disk_ioctl (
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* User Provided Timer Function for FatFs module */
|
|
||||||
/*---------------------------------------------------------*/
|
|
||||||
/* This is a real time clock service to be called from */
|
|
||||||
/* FatFs module. Any valid time must be returned even if */
|
|
||||||
/* the system does not support a real time clock. */
|
|
||||||
/* This is not required in read-only configuration. */
|
|
||||||
|
|
||||||
DWORD get_fattime (void)
|
|
||||||
{
|
|
||||||
/* No RTC supprt. Return a fixed value 2013/5/10 0:00:00 */
|
|
||||||
return ((DWORD)(2013 - 1980) << 25) /* Y */
|
|
||||||
| ((DWORD)5 << 21) /* M */
|
|
||||||
| ((DWORD)10 << 16) /* D */
|
|
||||||
| ((DWORD)0 << 11) /* H */
|
|
||||||
| ((DWORD)0 << 5) /* M */
|
|
||||||
| ((DWORD)0 >> 1); /* S */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ SECTIONS
|
||||||
__FLASH_segment_start__ = 0x00000000;
|
__FLASH_segment_start__ = 0x00000000;
|
||||||
__FLASH_segment_end__ = 0x00008000;
|
__FLASH_segment_end__ = 0x00008000;
|
||||||
|
|
||||||
__STACKSIZE__ = 512;
|
__STACKSIZE__ = 2048;
|
||||||
__STACKSIZE_PROCESS__ = 0;
|
__STACKSIZE_PROCESS__ = 0;
|
||||||
__STACKSIZE_IRQ__ = 0;
|
__STACKSIZE_IRQ__ = 0;
|
||||||
__STACKSIZE_FIQ__ = 0;
|
__STACKSIZE_FIQ__ = 0;
|
||||||
|
|
|
@ -6,7 +6,7 @@ MEMORY
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
__STACKSIZE__ = 512;
|
__STACKSIZE__ = 2048;
|
||||||
|
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,7 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x00007FFF;
|
||||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
||||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
|
define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
|
||||||
/*-Sizes-*/
|
/*-Sizes-*/
|
||||||
define symbol __ICFEDIT_size_cstack__ = 0x200;
|
define symbol __ICFEDIT_size_cstack__ = 0x800;
|
||||||
define symbol __ICFEDIT_size_heap__ = 0x100;
|
define symbol __ICFEDIT_size_heap__ = 0x100;
|
||||||
/**** End of ICF editor section. ###ICF###*/
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x08005FFF;
|
||||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
||||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
|
define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
|
||||||
/*-Sizes-*/
|
/*-Sizes-*/
|
||||||
define symbol __ICFEDIT_size_cstack__ = 0x400;
|
define symbol __ICFEDIT_size_cstack__ = 0x800;
|
||||||
define symbol __ICFEDIT_size_heap__ = 0x800;
|
define symbol __ICFEDIT_size_heap__ = 0x800;
|
||||||
/**** End of ICF editor section. ###ICF###*/
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
; </h>
|
; </h>
|
||||||
|
|
||||||
Stack_Size EQU 0x00000400
|
Stack_Size EQU 0x00000800
|
||||||
|
|
||||||
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
||||||
Stack_Mem SPACE Stack_Size
|
Stack_Mem SPACE Stack_Size
|
||||||
|
|
|
@ -6,7 +6,7 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x00007FFF;
|
||||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
||||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
|
define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF;
|
||||||
/*-Sizes-*/
|
/*-Sizes-*/
|
||||||
define symbol __ICFEDIT_size_cstack__ = 0x200;
|
define symbol __ICFEDIT_size_cstack__ = 0x800;
|
||||||
define symbol __ICFEDIT_size_heap__ = 0x100;
|
define symbol __ICFEDIT_size_heap__ = 0x100;
|
||||||
/**** End of ICF editor section. ###ICF###*/
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ void FileInit(void)
|
||||||
/* set the initial state */
|
/* set the initial state */
|
||||||
firmwareUpdateState = FIRMWARE_UPDATE_STATE_IDLE;
|
firmwareUpdateState = FIRMWARE_UPDATE_STATE_IDLE;
|
||||||
/* mount the file system, using logical disk 0 */
|
/* mount the file system, using logical disk 0 */
|
||||||
fresult = f_mount(0, &fatFsObjects.fs);
|
fresult = f_mount(&fatFsObjects.fs, "0:", 0);
|
||||||
/* mounting does not access the disk and should succeed unless misconfigured */
|
/* mounting does not access the disk and should succeed unless misconfigured */
|
||||||
ASSERT_RT(fresult == FR_OK);
|
ASSERT_RT(fresult == FR_OK);
|
||||||
} /*** end of FileInit ***/
|
} /*** end of FileInit ***/
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||||
<meta name="description" content="Open source FAT file system module for embedded projects">
|
<meta http-equiv="cache-control" content="no-cache">
|
||||||
|
<meta name="description" content="Open source FAT file system for embedded projects">
|
||||||
<link rel="start" title="Site Top" href="../../">
|
<link rel="start" title="Site Top" href="../../">
|
||||||
<link rel="up" title="Freewares" href="../../fsw_e.html">
|
<link rel="up" title="Freewares" href="../../fsw_e.html">
|
||||||
|
<link rel="alternate" hreflang="en" title="Original" href="http://elm-chan.org/fsw/ff/00index_e.html">
|
||||||
<link rel="alternate" hreflang="ja" title="Japanese version" href="00index_j.html">
|
<link rel="alternate" hreflang="ja" title="Japanese version" href="00index_j.html">
|
||||||
<link rel="stylesheet" href="css_e.css" type="text/css" media="screen" title="ELM Default">
|
<link rel="stylesheet" href="css_e.css" type="text/css" media="screen" title="ELM Default">
|
||||||
<title>FatFs - Generic FAT File System Module</title>
|
<title>FatFs - Generic FAT File System Module</title>
|
||||||
|
@ -17,21 +19,22 @@
|
||||||
|
|
||||||
<div class="abst">
|
<div class="abst">
|
||||||
<img src="img/layers.png" class="rset" width="245" height="255" alt="layer">
|
<img src="img/layers.png" class="rset" width="245" height="255" alt="layer">
|
||||||
<p>FatFs is a generic FAT file system module for small embedded systems. The FatFs is written in compliance with ANSI C and completely separated from the disk I/O layer. Therefore it is independent of hardware architecture. It can be incorporated into low cost microcontrollers, such as AVR, 8051, PIC, ARM, Z80, 68k and etc..., without any change. Petit FatFs module is also available <a href="http://elm-chan.org/fsw/ff/00index_p.html">here</a>.</p>
|
<p>FatFs is a generic FAT file system module for small embedded systems. The FatFs module is written in compliance with ANSI C (C89) and completely separated from the disk I/O layer. Therefore it is independent of the platform. It can be incorporated into small microcontrollers with limited resource, such as 8051, PIC, AVR, ARM, Z80, 78K and etc. Also Petit FatFs module for tiny microcontrollers is available <a href="http://elm-chan.org/fsw/ff/00index_p.html">here</a>.</p>
|
||||||
|
|
||||||
<h4>Features</h4>
|
<h4>Features</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Windows compatible FAT file system.</li>
|
<li>Windows compatible FAT/exFAT file system.</li>
|
||||||
<li>Platform independent. Easy to port.</li>
|
<li>Platform independent. Easy to port.</li>
|
||||||
<li>Very small footprint for code and work area.</li>
|
<li>Very small footprint for code and work area.</li>
|
||||||
<li>Various configuration options:
|
<li>Various <a href="en/config.html">configuration options</a> to support for:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Multiple volumes (physical drives and partitions).</li>
|
<li>Multiple volumes (physical drives and partitions).</li>
|
||||||
<li>Multiple ANSI/OEM code pages including DBCS.</li>
|
<li>Multiple ANSI/OEM code pages including DBCS.</li>
|
||||||
<li>Long file name support in ANSI/OEM or Unicode.</li>
|
<li>Long file name in ANSI/OEM or Unicode.</li>
|
||||||
<li>RTOS support.</li>
|
<li>exFAT file system.</li>
|
||||||
<li>Multiple sector size support.</li>
|
<li>RTOS envilonment.</li>
|
||||||
<li>Read-only, minimized API, I/O buffer and etc...</li>
|
<li>Fixed or variable sector size.</li>
|
||||||
|
<li>Read-only, optional API, I/O buffer and etc...</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -40,55 +43,76 @@
|
||||||
|
|
||||||
<div class="para">
|
<div class="para">
|
||||||
<h3>Application Interface</h3>
|
<h3>Application Interface</h3>
|
||||||
<p>FatFs module provides following functions to the applications. In other words, this list describes what FatFs can do to access the FAT volumes.</p>
|
<img src="img/layers1.png" class="rset" width="245" height="220" alt="layer">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="en/mount.html">f_mount</a> - Register/Unregister a work area</li>
|
<li>File Access
|
||||||
<li><a href="en/open.html">f_open</a> - Open/Create a file</li>
|
<ul>
|
||||||
<li><a href="en/close.html">f_close</a> - Close a file</li>
|
<li><a href="en/open.html">f_open</a> - Open/Create a file</li>
|
||||||
<li><a href="en/read.html">f_read</a> - Read file</li>
|
<li><a href="en/close.html">f_close</a> - Close an open file</li>
|
||||||
<li><a href="en/write.html">f_write</a> - Write file</li>
|
<li><a href="en/read.html">f_read</a> - Read data</li>
|
||||||
<li><a href="en/lseek.html">f_lseek</a> - Move read/write pointer, Expand file size</li>
|
<li><a href="en/write.html">f_write</a> - Write data</li>
|
||||||
<li><a href="en/truncate.html">f_truncate</a> - Truncate file size</li>
|
<li><a href="en/lseek.html">f_lseek</a> - Move read/write pointer, Expand size</li>
|
||||||
<li><a href="en/sync.html">f_sync</a> - Flush cached data</li>
|
<li><a href="en/truncate.html">f_truncate</a> - Truncate size</li>
|
||||||
<li><a href="en/opendir.html">f_opendir</a> - Open a directory</li>
|
<li><a href="en/sync.html">f_sync</a> - Flush cached data</li>
|
||||||
<li><a href="en/readdir.html">f_readdir</a> - Read a directory item</li>
|
<li><a href="en/forward.html">f_forward</a> - Forward data to the stream</li>
|
||||||
<li><a href="en/getfree.html">f_getfree</a> - Get free clusters</li>
|
<li><a href="en/expand.html">f_expand</a> - Allocate a contiguous block to the file</li>
|
||||||
<li><a href="en/stat.html">f_stat</a> - Get file status</li>
|
<li><a href="en/gets.html">f_gets</a> - Read a string</li>
|
||||||
<li><a href="en/mkdir.html">f_mkdir</a> - Create a directory</li>
|
<li><a href="en/putc.html">f_putc</a> - Write a character</li>
|
||||||
<li><a href="en/unlink.html">f_unlink</a> - Remove a file or directory</li>
|
<li><a href="en/puts.html">f_puts</a> - Write a string</li>
|
||||||
<li><a href="en/chmod.html">f_chmod</a> - Change attribute</li>
|
<li><a href="en/printf.html">f_printf</a> - Write a formatted string</li>
|
||||||
<li><a href="en/utime.html">f_utime</a> - Change timestamp</li>
|
<li><a href="en/tell.html">f_tell</a> - Get current read/write pointer</li>
|
||||||
<li><a href="en/rename.html">f_rename</a> - Rename/Move a file or directory</li>
|
<li><a href="en/eof.html">f_eof</a> - Test for end-of-file</li>
|
||||||
<li><a href="en/chdir.html">f_chdir</a> - Change current directory</li>
|
<li><a href="en/size.html">f_size</a> - Get size</li>
|
||||||
<li><a href="en/chdrive.html">f_chdrive</a> - Change current drive</li>
|
<li><a href="en/error.html">f_error</a> - Test for an error</li>
|
||||||
<li><a href="en/getcwd.html">f_getcwd</a> - Retrieve the current directory</li>
|
</ul>
|
||||||
<li><a href="en/getlabel.html">f_getlabel</a> - Get volume label</li>
|
</li>
|
||||||
<li><a href="en/setlabel.html">f_setlabel</a> - Set volume label</li>
|
<li>Directory Access
|
||||||
<li><a href="en/forward.html">f_forward</a> - Forward file data to the stream directly</li>
|
<ul>
|
||||||
<li><a href="en/mkfs.html">f_mkfs</a> - Create a file system on the drive</li>
|
<li><a href="en/opendir.html">f_opendir</a> - Open a directory</li>
|
||||||
<li><a href="en/fdisk.html">f_fdisk</a> - Divide a physical drive</li>
|
<li><a href="en/closedir.html">f_closedir</a> - Close an open directory</li>
|
||||||
<li><a href="en/gets.html">f_gets</a> - Read a string</li>
|
<li><a href="en/readdir.html">f_readdir</a> - Read an directory item</li>
|
||||||
<li><a href="en/putc.html">f_putc</a> - Write a character</li>
|
<li><a href="en/findfirst.html">f_findfirst</a> - Open a directory and read first item matched</li>
|
||||||
<li><a href="en/puts.html">f_puts</a> - Write a string</li>
|
<li><a href="en/findnext.html">f_findnext</a> - Read a next item matched</li>
|
||||||
<li><a href="en/printf.html">f_printf</a> - Write a formatted string</li>
|
</ul>
|
||||||
<li><a href="en/tell.html">f_tell</a> - Get the current read/write pointer</li>
|
</li>
|
||||||
<li><a href="en/eof.html">f_eof</a> - Test for end-of-file on a file</li>
|
<li>File/Directory Management
|
||||||
<li><a href="en/size.html">f_size</a> - Get size of a file</li>
|
<ul>
|
||||||
<li><a href="en/error.html">f_error</a> - Test for an error on a file</li>
|
<li><a href="en/stat.html">f_stat</a> - Check existance of a file or sub-directory</li>
|
||||||
|
<li><a href="en/unlink.html">f_unlink</a> - Remove a file or sub-directory</li>
|
||||||
|
<li><a href="en/rename.html">f_rename</a> - Rename or move a file or sub-directory</li>
|
||||||
|
<li><a href="en/chmod.html">f_chmod</a> - Change attribute of a file or sub-directory</li>
|
||||||
|
<li><a href="en/utime.html">f_utime</a> - Change timestamp of a file or sub-directory</li>
|
||||||
|
<li><a href="en/mkdir.html">f_mkdir</a> - Create a sub-directory</li>
|
||||||
|
<li><a href="en/chdir.html">f_chdir</a> - Change current directory</li>
|
||||||
|
<li><a href="en/chdrive.html">f_chdrive</a> - Change current drive</li>
|
||||||
|
<li><a href="en/getcwd.html">f_getcwd</a> - Retrieve the current directory and drive</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Volume Management
|
||||||
|
<ul>
|
||||||
|
<li><a href="en/mount.html">f_mount</a> - Register/Unregister a work area of a volume</li>
|
||||||
|
<li><a href="en/mkfs.html">f_mkfs</a> - Create an FAT volume on the logical drive</li>
|
||||||
|
<li><a href="en/fdisk.html">f_fdisk</a> - Create logical drives on the physical drive</li>
|
||||||
|
<li><a href="en/getfree.html">f_getfree</a> - Get total size and free size on the volume</li>
|
||||||
|
<li><a href="en/getlabel.html">f_getlabel</a> - Get volume label</li>
|
||||||
|
<li><a href="en/setlabel.html">f_setlabel</a> - Set volume label</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="para">
|
<div class="para">
|
||||||
<h3>Disk I/O Interface</h3>
|
<h3>Device Control Interface</h3>
|
||||||
<p>Since the FatFs module is completely separated from disk I/O layer, it requires following functions at least to access the physical media. When O/S related feature is enabled, it will require process/memory functions in addition. However the low level disk I/O module is not a part of FatFs module, so that it must be provided by user. The sample drivers are also available in the resources.</p>
|
<img src="img/layers2.png" class="rset" width="245" height="220" alt="layer">
|
||||||
|
<p>Since the FatFs module is a file system layer, it is completely separated from the physical devices, such as memory card, harddisk and any type of storage device. FatFs accesses the storage devices via a simple interface shown below. The low level device control module is <em>not a part of FatFs module</em>. It is provided by implementer. Also sample implementations for some platforms are available in the downloads.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="en/dinit.html">disk_initialize</a> - Initialize disk drive</li>
|
<li><a href="en/dstat.html">disk_status</a> - Get device status</li>
|
||||||
<li><a href="en/dstat.html">disk_status</a> - Get disk status</li>
|
<li><a href="en/dinit.html">disk_initialize</a> - Initialize device</li>
|
||||||
<li><a href="en/dread.html">disk_read</a> - Read sector(s)</li>
|
<li><a href="en/dread.html">disk_read</a> - Read sector(s)</li>
|
||||||
<li><a href="en/dwrite.html">disk_write</a> - Write sector(s)</li>
|
<li><a href="en/dwrite.html">disk_write</a> - Write sector(s)</li>
|
||||||
<li><a href="en/dioctl.html">disk_ioctl</a> - Control device dependent features</li>
|
<li><a href="en/dioctl.html">disk_ioctl</a> - Control device dependent functions</li>
|
||||||
<li><a href="en/fattime.html">get_fattime</a> - Get current time</li>
|
<li><a href="en/fattime.html">get_fattime</a> - Get current time</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -97,11 +121,25 @@
|
||||||
<h3>Resources</h3>
|
<h3>Resources</h3>
|
||||||
<p>The FatFs module is a free software opened for education, research and development. You can use, modify and/or redistribute it for personal projects or commercial products without any restriction under your responsibility. For further information, refer to the application note.</p>
|
<p>The FatFs module is a free software opened for education, research and development. You can use, modify and/or redistribute it for personal projects or commercial products without any restriction under your responsibility. For further information, refer to the application note.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://elm-chan.org/fsw/ff/bd/"><em>FatFs User Forum</em></a></li>
|
<li>Read first: <a href="en/appnote.html">FatFs module application note</a> <span class="mfd">April 12, 2016</span></li>
|
||||||
<li>Read first: <a href="en/appnote.html">FatFs module application note</a> <span class="mfd">April 20, 2013</span></li>
|
<li>Download: <a href="ff12.zip">FatFs R0.12</a> | <a href="updates.txt">Updates</a> | <a href="patches.html">Patches</a> <span class="mfd">April 12, 2016</span></li>
|
||||||
</ul>
|
<li>Download: <a href="ffsample.zip">FatFs sample projects for various platforms</a> <span class="mfd">April 12, 2016</span></li>
|
||||||
|
<li>Download: <a href="archives.html">Old Releases</a></li>
|
||||||
|
<li>Community: <a href="http://elm-chan.org/fsw/ff/bd/">FatFs User Forum</a></li>
|
||||||
|
<li><a href="https://msdn.microsoft.com/en-us/windows/hardware/gg463080.aspx">FAT32 Specification by Microsoft</a>↗ (The authorized document on FAT file system)</li>
|
||||||
|
<li><a href="http://elm-chan.org/docs/fat.html">The basics of FAT file system [ja]</a></li>
|
||||||
|
<li><a href="http://elm-chan.org/docs/mmc/mmc_e.html">How to Use MMC/SDC</a></li>
|
||||||
|
<li><a href="http://elm-chan.org/junk/fa/faff.html">Playing with FlashAir and FatFs</a></li>
|
||||||
|
<li><a href="http://stm32f4-discovery.com/2014/07/library-21-read-sd-card-fatfs-stm32f4xx-devices/">Read SD card with FatFs on STM32F4xx devices by Tilen Majerle</a>↗ (Quick and easy implementation for STM32F4-Discovery)</li>
|
||||||
|
<li><a href="http://nemuisan.blog.bai.ne.jp/">Nemuisan's Blog</a>↗ (Well written implementations for STM32F/SDIO and LPC2300/MCI)</li>
|
||||||
|
<li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html">ARM-Projects by Martin THOMAS</a>↗ (Examples for LPC2000, AT91SAM and STM32)</li>
|
||||||
|
<li><a href="img/rwtest1.png">Benchmark 1</a> (ATmega1284/20MHz with MMC via USART in SPI, CFC via GPIO)</li>
|
||||||
|
<li><a href="img/rwtest2.png">Benchmark 2</a> (LPC2368/72MHz with MMC via MCI)</li>
|
||||||
|
<li><a href="rc/fd.mp4">Demo movie of an application</a> (this project is in ffsample.zip/lpc23xx)</li></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<p class="foot"><a href="../../fsw_e.html">Return</a></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,36 +1,39 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||||
<html lang="ja">
|
<html lang="ja">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<meta http-equiv="Content-Style-Type" content="text/css">
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
||||||
<meta name="description" content="組み込みシステム向け汎用FATファイル・システム">
|
<meta http-equiv="cache-control" content="no-cache">
|
||||||
|
<meta name="description" content="組み込みシステム向け汎用FATファイルシステム">
|
||||||
<link rel="start" title="Site Top" href="../../index_j.html">
|
<link rel="start" title="Site Top" href="../../index_j.html">
|
||||||
<link rel="up" title="Freewares" href="../../fsw.html">
|
<link rel="up" title="Freewares" href="../../fsw.html">
|
||||||
<link rel="alternate" hreflang="en" title="英文" href="00index_e.html">
|
<link rel="alternate" hreflang="ja" title="オリジナル版" href="http://elm-chan.org/fsw/ff/00index_j.html">
|
||||||
|
<link rel="alternate" hreflang="en" title="英文版" href="00index_e.html">
|
||||||
<link rel="stylesheet" href="css_j.css" type="text/css" media="screen" title="ELM Default">
|
<link rel="stylesheet" href="css_j.css" type="text/css" media="screen" title="ELM Default">
|
||||||
<title>ELM - FatFs 汎用FATファイルシステム・モジュール</title>
|
<title>FatFs 汎用FATファイルシステム モジュール</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1>FatFs 汎用FATファイルシステム・モジュール</h1>
|
<h1>FatFs 汎用FATファイルシステム モジュール</h1>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="abst">
|
<div class="abst">
|
||||||
<img src="img/layers.png" class="rset" width="245" height="255" alt="layer">
|
<img src="img/layers.png" class="rset" width="245" height="255" alt="layer">
|
||||||
<p>FatFsは小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワーク・エリアが確保できれば、8051, PIC, AVR, SH, Z80, 68k, H8, ARMなど安価なマイコンでも使用可能です。FatFsをシュリンクした<a href="http://elm-chan.org/fsw/ff/00index_p.html">ぷちFatFs</a>もあります。</p>
|
<p>FatFsは小規模な組み込みシステム向けの汎用FATファイルシステム モジュールです。ANSI C(C89)準拠でハードウェア アーキテクチャには依存しないので、必要なワーク エリアが確保できれば、8051, PIC, AVR, SH, Z80, 68k, H8, ARMなど安価なマイコンでも使用可能です。このほか、FatFsを極小マイコン向けにシュリンクした<a href="http://elm-chan.org/fsw/ff/00index_p.html">ぷちFatFs</a>もあります。</p>
|
||||||
<h4>FatFsモジュールの特徴</h4>
|
<h4>FatFsモジュールの特徴</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Windows互換 FATファイル・システム</li>
|
<li>Windows互換 FAT/exFATファイル システム</li>
|
||||||
<li>プラットフォーム非依存</li>
|
<li>プラットフォーム非依存</li>
|
||||||
<li>コンパクトなコードとRAM使用量</li>
|
<li>コンパクトなコードとRAM使用量</li>
|
||||||
<li>多くの構成オプション:
|
<li>多くの<a href="ja/config.html">構成オプション</a>:
|
||||||
<ul>
|
<ul>
|
||||||
<li>複数のボリューム(物理ドライブ・区画)</li>
|
<li>ボリューム構成(物理ドライブ数・区画)</li>
|
||||||
<li>DBCSを含む複数のANSI/OEMコード・ページ</li>
|
<li>DBCSを含む複数のANSI/OEMコード ページの選択</li>
|
||||||
<li>長いファイル名(LFN) (Unicode APIも選択可)</li>
|
<li>長いファイル名(LFN)への対応</li>
|
||||||
<li>マルチタスク関連</li>
|
<li>exFATファイルシステムへの対応</li>
|
||||||
<li>マルチ・セクタ・サイズ</li>
|
<li>RTOS環境への対応</li>
|
||||||
<li>リード・オンリー構成、一部APIの削除、バッファ構成、その他…</li>
|
<li>セクタ サイズ(固定/可変)</li>
|
||||||
|
<li>リード オンリー構成、一部APIの削除、バッファ構成、その他…</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -38,69 +41,105 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="para">
|
<div class="para">
|
||||||
<h3>上位レイヤ・インターフェース</h3>
|
<h3>上位レイヤ インターフェース</h3>
|
||||||
<p>FatFsモジュールは、アプリケーション・レイヤに対し、次のファイル操作関数(API)を提供します。つまり、このリストはFatFsにできることをシンプルに示しています。</p>
|
<img src="img/layers1.png" class="rset" width="245" height="220" alt="layer">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="ja/mount.html">f_mount</a> - ワークエリアの登録・削除</li>
|
<li>ファイル アクセス
|
||||||
<li><a href="ja/open.html">f_open</a> - ファイルのオープン・作成</li>
|
<ul>
|
||||||
<li><a href="ja/close.html">f_close</a> - ファイルのクローズ</li>
|
<li><a href="ja/open.html">f_open</a> - ファイルのオープン・作成</li>
|
||||||
<li><a href="ja/read.html">f_read</a> - ファイルの読み出し</li>
|
<li><a href="ja/close.html">f_close</a> - ファイルのクローズ</li>
|
||||||
<li><a href="ja/write.html">f_write</a> - ファイルの書き込み</li>
|
<li><a href="ja/read.html">f_read</a> - データの読み出し</li>
|
||||||
<li><a href="ja/lseek.html">f_lseek</a> - リード/ライト・ポインタの移動, ファイルの拡張</li>
|
<li><a href="ja/write.html">f_write</a> - データの書き込み</li>
|
||||||
<li><a href="ja/truncate.html">f_truncate</a> - ファイル・サイズの切り詰め</li>
|
<li><a href="ja/lseek.html">f_lseek</a> - リード/ライト ポインタの移動, サイズの拡張</li>
|
||||||
<li><a href="ja/sync.html">f_sync</a> - キャッシュされたデータのフラッシュ</li>
|
<li><a href="ja/truncate.html">f_truncate</a> - サイズの切り詰め</li>
|
||||||
<li><a href="ja/opendir.html">f_opendir</a> - ディレクトリのオープン</li>
|
<li><a href="ja/sync.html">f_sync</a> - キャッシュされたデータのフラッシュ</li>
|
||||||
<li><a href="ja/readdir.html">f_readdir</a> - ディレクトリの読み出し</li>
|
<li><a href="ja/forward.html">f_forward</a> - データをストリーム関数に転送</li>
|
||||||
<li><a href="ja/getfree.html">f_getfree</a> - ボリューム空き領域の取得</li>
|
<li><a href="ja/expand.html">f_expand</a> - 連続領域の割り当て</li>
|
||||||
<li><a href="ja/stat.html">f_stat</a> - ファイル・ステータスの取得</li>
|
<li><a href="ja/gets.html">f_gets</a> - 文字列の読み出し</li>
|
||||||
<li><a href="ja/mkdir.html">f_mkdir</a> - ディレクトリの作成</li>
|
<li><a href="ja/putc.html">f_putc</a> - 文字の書き込み</li>
|
||||||
<li><a href="ja/unlink.html">f_unlink</a> - ファイル/ディレクトリの削除</li>
|
<li><a href="ja/puts.html">f_puts</a> - 文字列の書き込み</li>
|
||||||
<li><a href="ja/chmod.html">f_chmod</a> - ファイル/ディレクトリの属性の変更</li>
|
<li><a href="ja/printf.html">f_printf</a> - 書式化文字列の書き込み</li>
|
||||||
<li><a href="ja/utime.html">f_utime</a> - ファイル/ディレクトリのタイムスタンプの変更</li>
|
<li><a href="ja/tell.html">f_tell</a> - リード/ライト ポインタの取得</li>
|
||||||
<li><a href="ja/rename.html">f_rename</a> - ファイル/ディレクトリの名前変更・移動</li>
|
<li><a href="ja/eof.html">f_eof</a> - 終端の有無の取得</li>
|
||||||
<li><a href="ja/chdir.html">f_chdir</a> - カレント・ディレクトリの変更</li>
|
<li><a href="ja/size.html">f_size</a> - サイズの取得</li>
|
||||||
<li><a href="ja/chdrive.html">f_chdrive</a> - カレント・ドライブの変更</li>
|
<li><a href="ja/error.html">f_error</a> - エラーの有無の取得</li>
|
||||||
<li><a href="ja/getcwd.html">f_getcwd</a> - カレント・ディレクトリの取得</li>
|
</ul>
|
||||||
<li><a href="ja/getlabel.html">f_getlabel</a> - ボリューム・ラベルの取得</li>
|
</li>
|
||||||
<li><a href="ja/setlabel.html">f_setlabel</a> - ボリューム・ラベルの設定</li>
|
<li>ディレクトリ アクセス
|
||||||
<li><a href="ja/forward.html">f_forward</a> - ファイル・データをストリーム関数に転送</li>
|
<ul>
|
||||||
<li><a href="ja/mkfs.html">f_mkfs</a> - 論理ドライブのフォーマット</li>
|
<li><a href="ja/opendir.html">f_opendir</a> - ディレクトリのオープン</li>
|
||||||
<li><a href="ja/fdisk.html">f_fdisk</a> - 物理ドライブの分割</li>
|
<li><a href="ja/closedir.html">f_closedir</a> - ディレクトリのクローズ</li>
|
||||||
<li><a href="ja/gets.html">f_gets</a> - 文字列の読み出し</li>
|
<li><a href="ja/readdir.html">f_readdir</a> - 項目の読み出し</li>
|
||||||
<li><a href="ja/putc.html">f_putc</a> - 文字の書き込み</li>
|
<li><a href="ja/findfirst.html">f_findfirst</a> - ディレクトリのオープンと最初の検索項目の読み出し</li>
|
||||||
<li><a href="ja/puts.html">f_puts</a> - 文字列の書き込み</li>
|
<li><a href="ja/findnext.html">f_findnext</a> - 次の検索項目の読み出し</li>
|
||||||
<li><a href="ja/printf.html">f_printf</a> - 書式化文字列の書き込み</li>
|
</ul>
|
||||||
<li><a href="ja/tell.html">f_tell</a> - 現在のリード/ライト・ポインタの取得</li>
|
</li>
|
||||||
<li><a href="ja/eof.html">f_eof</a> - ファイル終端の有無の取得</li>
|
<li>ファイル/ディレクトリ管理
|
||||||
<li><a href="ja/size.html">f_size</a> - ファイル・サイズの取得</li>
|
<ul>
|
||||||
<li><a href="ja/error.html">f_error</a> - ファイルのエラーの有無の取得</li>
|
<li><a href="ja/stat.html">f_stat</a> - ファイル/サブ ディレクトリの存在チェックと情報の取得</li>
|
||||||
|
<li><a href="ja/unlink.html">f_unlink</a> - ファイル/サブ ディレクトリの削除</li>
|
||||||
|
<li><a href="ja/rename.html">f_rename</a> - ファイル/サブ ディレクトリの名前の変更・移動</li>
|
||||||
|
<li><a href="ja/chmod.html">f_chmod</a> - ファイル/サブ ディレクトリの属性の変更</li>
|
||||||
|
<li><a href="ja/utime.html">f_utime</a> - ファイル/サブ ディレクトリのタイムスタンプの変更</li>
|
||||||
|
<li><a href="ja/mkdir.html">f_mkdir</a> - サブ ディレクトリの作成</li>
|
||||||
|
<li><a href="ja/chdir.html">f_chdir</a> - カレント ディレクトリの変更</li>
|
||||||
|
<li><a href="ja/chdrive.html">f_chdrive</a> - カレント ドライブの変更</li>
|
||||||
|
<li><a href="ja/getcwd.html">f_getcwd</a> - カレント ディレクトリの取得</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>ボリューム管理
|
||||||
|
<ul>
|
||||||
|
<li><a href="ja/mount.html">f_mount</a> - ボリューム ワーク エリアの登録・抹消</li>
|
||||||
|
<li><a href="ja/mkfs.html">f_mkfs</a> - 論理ドライブ上にFATボリュームを作成</li>
|
||||||
|
<li><a href="ja/fdisk.html">f_fdisk</a> - 物理ドライブ上に複数の論理ドライブを作成</li>
|
||||||
|
<li><a href="ja/getfree.html">f_getfree</a> - ボリュームのサイズと空きサイズの取得</li>
|
||||||
|
<li><a href="ja/getlabel.html">f_getlabel</a> - ボリューム ラベルの取得</li>
|
||||||
|
<li><a href="ja/setlabel.html">f_setlabel</a> - ボリューム ラベルの設定</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="para">
|
<div class="para">
|
||||||
<h3>下位レイヤ・インターフェース</h3>
|
<h3>下位レイヤ インターフェース</h3>
|
||||||
<p>FatFsモジュールは、単なるファイル・システム・レイヤなので、メディア制御レイヤは含まれません。使用するメディアに対応した制御関数は、ユーザによって提供される必要があります。FatFsモジュールは、下位レイヤに対し少なくとも次のインターフェースを要求します。OS関連機能を有効にしたときは、加えてプロセス/メモリ関連関数も必要になります。サンプル・プロジェクトに下位レイヤの実装例を示します。</p>
|
<img src="img/layers2.png" class="rset" width="245" height="220" alt="layer">
|
||||||
|
<p>FatFsモジュールは、単なるファイル システム レイヤなので、その下位に当たるストレージ デバイス制御レイヤは含まれません。プラットフォームやストレージ デバイスに対応した制御レイヤは、インプリメンタによって提供される必要があります。FatFsモジュールは、下位レイヤに対し標準的には次のインターフェースを要求します。一部の拡張機能、たとえばOS関連機能を有効にしたときは、加えてプロセス/メモリ操作関数なども必要になります。サンプル プロジェクトに下位レイヤの実装例を示します。</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="ja/dinit.html">disk_initialize</a> - ドライブの初期化</li>
|
<li><a href="ja/dstat.html">disk_status</a> - デバイスの状態取得</li>
|
||||||
<li><a href="ja/dstat.html">disk_status</a> - ドライブの状態取得</li>
|
<li><a href="ja/dinit.html">disk_initialize</a> - デバイスの初期化</li>
|
||||||
<li><a href="ja/dread.html">disk_read</a> - データの読み出し</li>
|
<li><a href="ja/dread.html">disk_read</a> - データの読み出し</li>
|
||||||
<li><a href="ja/dwrite.html">disk_write</a> - データの書き込み</li>
|
<li><a href="ja/dwrite.html">disk_write</a> - データの書き込み</li>
|
||||||
<li><a href="ja/dioctl.html">disk_ioctl</a> - その他のドライブ制御</li>
|
<li><a href="ja/dioctl.html">disk_ioctl</a> - その他のデバイス制御</li>
|
||||||
<li><a href="ja/fattime.html">get_fattime</a> - 日付・時刻の取得</li>
|
<li><a href="ja/fattime.html">get_fattime</a> - 日付・時刻の取得</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="para">
|
<div class="para">
|
||||||
<h3>資料</h3>
|
<h3>資料</h3>
|
||||||
<p>FatFsモジュールはフリー・ソフトウェアとして教育・研究・開発用に公開しています。どのような利用目的(個人利用から商用まで)でも使用・改変・配布について一切の制限はありませんが、全て利用者の責任の下での利用とします。詳しくはアプリケーション・ノートを参照してください。</p>
|
<p>FatFsモジュールはフリー ソフトウェアとして教育・研究・開発用に公開しています。どのような利用目的(個人利用から商用まで)でも使用・改変・配布について一切の制限はありませんが、全て利用者の責任の下での利用とします。詳しくはアプリケーション ノートを参照してください。</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://elm-chan.org/fsw/ff/bd/"><em>FatFsユーザ・フォーラム</em></a></li>
|
<li>最初に読め: <a href="ja/appnote.html">FatFsモジュール アプリケーション ノート</a> <span class="mfd">2016. 4. 12</span></li>
|
||||||
<li>最初に読め: <a href="ja/appnote.html">FatFsモジュール・アプリケーション・ノート</a> <span class="mfd">2013. 4. 20</span></li>
|
<li>ダウンロード: <a href="ff12.zip">FatFs R0.12</a> | <a href="updates.txt">変更点</a> | <a href="patches.html">パッチ</a> <span class="mfd">2016. 4. 12</span></li>
|
||||||
|
<li>ダウンロード: <a href="ffsample.zip">サンプル プロジェクト</a> <span class="mfd">2016. 4. 12</span></li>
|
||||||
|
<li>ダウンロード: <a href="archives.html">旧バージョン</a></li>
|
||||||
|
<li>コミュニティ: <a href="http://elm-chan.org/fsw/ff/bd/">FatFsユーザ フォーラム</a></li>
|
||||||
|
<li><a href="https://msdn.microsoft.com/en-us/windows/hardware/gg463080.aspx">FATファイルシステム仕様 by Microsoft</a>↗ (The reference document on FAT file system)</li>
|
||||||
|
<li><a href="http://elm-chan.org/docs/fat.html">FATファイルシステム概要</a> (↑を読むためのガイド)</li>
|
||||||
|
<li><a href="http://elm-chan.org/docs/mmc/mmc.html">MMCの使いかた</a></li>
|
||||||
|
<li><a href="http://elm-chan.org/junk/fa/faff.html">FlashAirとFatFs [ja]</a></li>
|
||||||
|
<li><a href="http://stm32f4-discovery.com/2014/07/library-21-read-sd-card-fatfs-stm32f4xx-devices/">Read SD card with FatFs on STM32F4xx devices by Tilen Majerle</a>↗ (Quick and easy implementation for STM32F4-Discovery)</li>
|
||||||
|
<li><a href="http://nemuisan.blog.bai.ne.jp/">ねむいさんのぶろぐ</a>↗ (Well written implementations for STM32F/SDIO and LPC2300/MCI)</li>
|
||||||
|
<li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html">ARM-Projects by Martin THOMAS</a>↗ (Examples for LPC2000, AT91SAM and STM32)</li>
|
||||||
|
<li><a href="img/rwtest1.png">パフォーマンス テスト1</a> (ATmega1284/20MHz with MMC via USART in SPI, CFC via GPIO)</li>
|
||||||
|
<li><a href="img/rwtest2.png">パフォーマンス テスト2</a> (LPC2368/72MHz with MMC via MCI)</li>
|
||||||
|
<li><a href="rc/fd.mp4">応用例のデモ動画</a> (This project is in ffsample.zip/lpc23xx)</li></ul>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<p class="foot"><a href="../../fsw.html">戻る</a></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -7,6 +7,8 @@ a:active {color: darkmagenta; overflow: hidden; outline:none; position: relative
|
||||||
abbr {border-width: 1px;}
|
abbr {border-width: 1px;}
|
||||||
|
|
||||||
p {margin: 0 0 0.3em 1em;}
|
p {margin: 0 0 0.3em 1em;}
|
||||||
|
i {margin: 0 0.3em 0 0;}
|
||||||
|
b {margin: 0 0.1em;}
|
||||||
em {font-style: normal; font-weight: bold; margin: 0 0.1em;}
|
em {font-style: normal; font-weight: bold; margin: 0 0.1em;}
|
||||||
strong {}
|
strong {}
|
||||||
pre {border: 1px dashed gray; margin: 0.5em 1em; padding: 0.5em; line-height: 1.2em; font-size: 85%; font-family: "Consolas", "Courier New", monospace; background-color: white;}
|
pre {border: 1px dashed gray; margin: 0.5em 1em; padding: 0.5em; line-height: 1.2em; font-size: 85%; font-family: "Consolas", "Courier New", monospace; background-color: white;}
|
||||||
|
@ -17,6 +19,7 @@ tt {margin: 0 0.2em; font-size: 0.85em; font-family: "Consolas", "Courier New",
|
||||||
tt.arg {font-style: italic;}
|
tt.arg {font-style: italic;}
|
||||||
ol {margin: 0.5em 2.5em;}
|
ol {margin: 0.5em 2.5em;}
|
||||||
ul {margin: 0.5em 2em;}
|
ul {margin: 0.5em 2em;}
|
||||||
|
ul ul {margin: 0 2em 0.5em 1em;}
|
||||||
dl {margin: 0.5em 1em;}
|
dl {margin: 0.5em 1em;}
|
||||||
dd {margin: 0 2em;}
|
dd {margin: 0 2em;}
|
||||||
dt {font-size: 0.85em; font-family: "Consolas", "Courier New", monospace;}
|
dt {font-size: 0.85em; font-family: "Consolas", "Courier New", monospace;}
|
||||||
|
@ -28,23 +31,27 @@ div.para {clear: both; font-family: serif;}
|
||||||
div.ret a {font-size: 0.85em; font-family: "Consolas", "Courier New", monospace; }
|
div.ret a {font-size: 0.85em; font-family: "Consolas", "Courier New", monospace; }
|
||||||
.equ {text-indent: 0; margin: 1em 2em 1em;}
|
.equ {text-indent: 0; margin: 1em 2em 1em;}
|
||||||
.indent {margin-left: 2em;}
|
.indent {margin-left: 2em;}
|
||||||
.rset {float: right; margin: 0 0 0.5em 0.5em;}
|
.rset {float: right; margin: 0.3em 0 0.5em 0.5em;}
|
||||||
.lset {float: left; margin: 0 0.5em 0.5em 0.5em;}
|
.lset {float: left; margin: 0.3em 0.5em 0.5em 0.5em;}
|
||||||
ul.flat li {list-style-type: none; margin: 0;}
|
ul.flat li {list-style-type: none; margin: 0;}
|
||||||
a.imglnk img {border: 1px solid;}
|
a.imglnk img {border: 1px solid;}
|
||||||
.iequ {white-space: nowrap; font-weight: bold;}
|
.iequ {white-space: nowrap; font-weight: bold;}
|
||||||
.clr {clear: both;}
|
.clr {clear: both;}
|
||||||
.it {font-style: italic;}
|
.it {font-style: italic;}
|
||||||
.mfd {font-size: 0.7em; padding: 0 1px; border: 1px solid; white-space : nowrap}
|
.mfd {font-size: 0.7em; padding: 0 1px; border: 1px solid; white-space : nowrap}
|
||||||
|
.ral {text-align: right; }
|
||||||
|
.lal {text-align: left; }
|
||||||
|
.cal {text-align: center; }
|
||||||
|
|
||||||
h1 {line-height: 1em; font-size: 2em; font-family: sans-serif; padding: 0.3em 0 0.3em;}
|
h1 {line-height: 1em; font-size: 2em; font-family: sans-serif; padding: 0.3em 0 0.3em;}
|
||||||
p.hdd {float: right; text-align: right; margin-top: 0.5em;}
|
|
||||||
hr.hds {clear: both; margin-bottom: 1em;}
|
|
||||||
|
|
||||||
h2 {font-size: 2em; font-family: sans-serif; background-color: #d8d8FF; padding: 0.5em 0.5em; margin: 0 0 0.5em;}
|
h2 {font-size: 2em; font-family: sans-serif; background-color: #d8d8FF; padding: 0.5em 0.5em; margin: 0 0 0.5em;}
|
||||||
h3 {font-size: 1.5em; font-family: sans-serif; margin: 1.5em 0 0.5em;}
|
h3 {font-size: 1.5em; font-family: sans-serif; margin: 1.5em 0 0.5em;}
|
||||||
h4 {font-size: 1.2em; font-family: sans-serif; margin: 1em 0 0.2em;}
|
div.doc h3 {border-color: #b0d8d8; border-style: solid; border-width: 0px 0px 4px 12px; padding: 4px; margin-top: 3em;}
|
||||||
h5 {font-size: 1em; font-family: sans-serif; margin: 0.5em 0 0em;}
|
h4 {font-size: 1.2em; font-family: sans-serif; margin: 2em 0 0.2em;}
|
||||||
|
h5 {font-size: 1em; font-family: sans-serif; margin: 1em 0 0em;}
|
||||||
|
p.hdd {float: right; text-align: right; margin-top: 0.5em;}
|
||||||
|
hr.hds {clear: both; margin-bottom: 1em;}
|
||||||
|
kbd {letter-spacing: 0;}
|
||||||
small {font-size: 80%;}
|
small {font-size: 80%;}
|
||||||
.indent {margin-left: 2em;}
|
.indent {margin-left: 2em;}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,9 @@ a:hover {background-color: #a0ffff;}
|
||||||
a:active {color: darkmagenta; overflow: hidden; outline:none; position: relative; top: 1px; left: 1px;}
|
a:active {color: darkmagenta; overflow: hidden; outline:none; position: relative; top: 1px; left: 1px;}
|
||||||
abbr {border-width: 1px;}
|
abbr {border-width: 1px;}
|
||||||
|
|
||||||
p {text-indent: 1em; margin: 0 0 0.3em 0.5em;}
|
p {text-indent: 0.8em; margin: 0 0 0.3em 0.5em;}
|
||||||
|
i {margin: 0 0.3em 0 0;}
|
||||||
|
b {margin: 0 0.1em;}
|
||||||
em {font-style: normal; font-weight: bold; margin: 0 0.1em;}
|
em {font-style: normal; font-weight: bold; margin: 0 0.1em;}
|
||||||
strong {}
|
strong {}
|
||||||
pre {border: 1px dashed gray; margin: 0.5em 1em; padding: 0.5em; line-height: 1.2em; letter-spacing: 0; font-size: 0.85em; font-family: "Consolas", "Courier New", "MS ゴシック", monospace; background-color: white;}
|
pre {border: 1px dashed gray; margin: 0.5em 1em; padding: 0.5em; line-height: 1.2em; letter-spacing: 0; font-size: 0.85em; font-family: "Consolas", "Courier New", "MS ゴシック", monospace; background-color: white;}
|
||||||
|
@ -20,6 +22,7 @@ tt {margin: 0 0.2em; letter-spacing: 0; font-size: 0.85em; font-family: "Consola
|
||||||
tt.arg {font-style: italic;}
|
tt.arg {font-style: italic;}
|
||||||
ol {margin: 0.5em 2.5em;}
|
ol {margin: 0.5em 2.5em;}
|
||||||
ul {margin: 0.5em 2em;}
|
ul {margin: 0.5em 2em;}
|
||||||
|
ul ul {margin: 0 2em 0.5em 1em;}
|
||||||
dl {margin: 0.5em 1em;}
|
dl {margin: 0.5em 1em;}
|
||||||
dd {margin: 0em 2em;}
|
dd {margin: 0em 2em;}
|
||||||
dt {font-size: 0.85em; font-family: "Consolas", "Courier New", "MS ゴシック", monospace;}
|
dt {font-size: 0.85em; font-family: "Consolas", "Courier New", "MS ゴシック", monospace;}
|
||||||
|
@ -31,23 +34,27 @@ div.para {clear: both; font-family: "
|
||||||
div.ret a {font-size: 0.85em; font-family: "Consolas", "Courier New", monospace; }
|
div.ret a {font-size: 0.85em; font-family: "Consolas", "Courier New", monospace; }
|
||||||
.equ {text-indent: 0; margin: 1em 2em 1em;}
|
.equ {text-indent: 0; margin: 1em 2em 1em;}
|
||||||
.indent {margin-left: 2em;}
|
.indent {margin-left: 2em;}
|
||||||
.rset {float: right; margin: 0 0 0.5em 0.5em;}
|
.rset {float: right; margin: 0.3em 0 0.5em 0.5em;}
|
||||||
.lset {float: left; margin: 0 0.5em 0.5em 0.5em;}
|
.lset {float: left; margin: 0.3em 0.5em 0.5em 0.5em;}
|
||||||
ul.flat li {list-style-type: none; margin: 0;}
|
ul.flat li {list-style-type: none; margin: 0;}
|
||||||
a.imglnk img {border: 1px solid;}
|
a.imglnk img {border: 1px solid;}
|
||||||
.iequ {white-space: nowrap; font-weight: bold;}
|
.iequ {white-space: nowrap; font-weight: bold;}
|
||||||
.clr {clear: both;}
|
.clr {clear: both;}
|
||||||
.it {font-style: italic;}
|
.it {font-style: italic;}
|
||||||
.mfd {font-size: 0.7em; padding: 0 1px; border: 1px solid; white-space : nowrap}
|
.mfd {font-size: 0.7em; padding: 0 1px; border: 1px solid; white-space : nowrap}
|
||||||
|
.ral {text-align: right; }
|
||||||
|
.lal {text-align: left; }
|
||||||
|
.cal {text-align: center; }
|
||||||
|
|
||||||
h1 {line-height: 1em; font-size: 2em; font-family: sans-serif; padding: 0.3em 0 0.3em;}
|
h1 {line-height: 1em; font-size: 2em; font-family: sans-serif; padding: 0.3em 0 0.3em;}
|
||||||
p.hdd {float: right; text-align: right; margin-top: 0.5em;}
|
|
||||||
hr.hds {clear: both; margin-bottom: 1em;}
|
|
||||||
|
|
||||||
h2 {font-size: 2em; font-family: "MS Pゴシック",sans-serif; background-color: #d8d8FF; padding: 0.5em 0.5em; margin: 0 0 0.5em;}
|
h2 {font-size: 2em; font-family: "MS Pゴシック",sans-serif; background-color: #d8d8FF; padding: 0.5em 0.5em; margin: 0 0 0.5em;}
|
||||||
h3 {font-size: 1.5em; font-family: "MS Pゴシック",sans-serif; margin: 1.5em 0 0.5em;}
|
h3 {font-size: 1.5em; font-family: "MS Pゴシック",sans-serif; margin: 1.5em 0 0.5em;}
|
||||||
h4 {font-size: 1.2em; font-family: "MS Pゴシック",sans-serif; margin: 1em 0 0.2em;}
|
div.doc h3 {border-color: #b0d8d8; border-style: solid; border-width: 0px 0px 4px 12px; padding: 4px; margin-top: 3em;}
|
||||||
h5 {font-size: 1em; font-family: "MS Pゴシック",sans-serif; margin: 0.5em 0 0em;}
|
h4 {font-size: 1.2em; font-family: "MS Pゴシック",sans-serif; margin: 2em 0 0.2em;}
|
||||||
|
h5 {font-size: 1em; font-family: "MS Pゴシック",sans-serif; margin: 1em 0 0em;}
|
||||||
|
p.hdd {float: right; text-align: right; margin-top: 0.5em;}
|
||||||
|
hr.hds {clear: both; margin-bottom: 1em;}
|
||||||
|
kbd {letter-spacing: 0;}
|
||||||
small {font-size: 80%;}
|
small {font-size: 80%;}
|
||||||
.indent {margin-left: 2em;}
|
.indent {margin-left: 2em;}
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue