移植rtthread

This commit is contained in:
Aladdin-Wang 2020-03-15 22:44:36 +08:00
parent d865435454
commit f0a78b9d05
5619 changed files with 1412247 additions and 1018 deletions

File diff suppressed because one or more lines are too long

View File

@ -953,7 +953,7 @@
<Group>
<GroupName>gui</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@ -1033,7 +1033,7 @@
<Group>
<GroupName>generated</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@ -1305,7 +1305,7 @@
<Group>
<GroupName>Lib</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,57 @@
 Clean-up generated files: ..\..\generated\fonts\cache\ApplicationFontProvider.cache;..\..\generated\fonts\cache\ApplicationFontProviderHpp.cache;..\..\generated\fonts\cache\Font_verdana_10_4bppCpp.cache;..\..\generated\fonts\cache\Font_verdana_20_4bppCpp.cache;..\..\generated\fonts\cache\Font_verdana_40_4bppCpp.cache;..\..\generated\fonts\include\fonts\ApplicationFontProvider.hpp;..\..\generated\fonts\include\fonts\CachedFont.hpp;..\..\generated\fonts\include\fonts\FontCache.hpp;..\..\generated\fonts\include\fonts\GeneratedFont.hpp;..\..\generated\fonts\src\ApplicationFontProvider.cpp;..\..\generated\fonts\src\CachedFont.cpp;..\..\generated\fonts\src\FontCache.cpp;..\..\generated\fonts\src\Font_verdana_10_4bpp_0.cpp;..\..\generated\fonts\src\Font_verdana_20_4bpp_0.cpp;..\..\generated\fonts\src\Font_verdana_40_4bpp_0.cpp;..\..\generated\fonts\src\GeneratedFont.cpp;..\..\generated\fonts\src\Kerning_verdana_10_4bpp.cpp;..\..\generated\fonts\src\Kerning_verdana_20_4bpp.cpp;..\..\generated\fonts\src\Kerning_verdana_40_4bpp.cpp;..\..\generated\fonts\src\Table_verdana_10_4bpp.cpp;..\..\generated\fonts\src\Table_verdana_20_4bpp.cpp;..\..\generated\fonts\src\Table_verdana_40_4bpp.cpp;..\..\generated\fonts\UnicodeListverdana_10_4.txt;..\..\generated\fonts\UnicodeListverdana_20_4.txt;..\..\generated\fonts\UnicodeListverdana_40_4.txt;..\..\generated\images\include\BitmapDatabase.hpp;..\..\generated\images\src\BitmapDatabase.cpp;..\..\generated\images\src\next_button.cpp;..\..\generated\images\src\next_button_pressed.cpp;..\..\generated\texts\cache\compile_time.cache;..\..\generated\texts\cache\LanguageCpp_Gb.cache;..\..\generated\texts\cache\options.cache;..\..\generated\texts\cache\TextKeysAndLanguages.cache;..\..\generated\texts\cache\TextsCpp.cache;..\..\generated\texts\cache\TypedTextDatabaseCpp.cache;..\..\generated\texts\include\texts\TextKeysAndLanguages.hpp;..\..\generated\texts\include\texts\TypedTextDatabase.hpp;..\..\generated\texts\src\LanguageGb.cpp;..\..\generated\texts\src\Texts.cpp;..\..\generated\texts\src\TypedTextDatabase.cpp
Converting images
Writing generated/images/src/next_button.cpp
Writing generated/images/src/next_button_pressed.cpp
Writing generated/images/include/BitmapDatabase.hpp
Writing generated/images/src/BitmapDatabase.cpp
Converting texts and fonts
Cleaning generated files from ..\..\generated\texts and ..\..\generated\fonts.
Generating generated/fonts/src/GeneratedFont.cpp
Generating generated/fonts/include/fonts/GeneratedFont.hpp
Generating generated/fonts/include/fonts/CachedFont.hpp
Generating generated/fonts/src/CachedFont.cpp
Generating generated/fonts/include/fonts/FontCache.hpp
Generating generated/fonts/src/FontCache.cpp
Generating generated/fonts/src/ApplicationFontProvider.cpp
Generating generated/fonts/include/fonts/ApplicationFontProvider.hpp
Generating generated/texts/include/texts/TextKeysAndLanguages.hpp
Generating generated/texts/include/texts/TypedTextDatabase.hpp
Generating generated/texts/src/TypedTextDatabase.cpp
Generating generated/texts/src/Texts.cpp
Generating generated/texts/src/LanguageGb.cpp
Creating compile items for all generated source files: ..\..\generated\fonts\src\ApplicationFontProvider.cpp;..\..\generated\fonts\src\CachedFont.cpp;..\..\generated\fonts\src\FontCache.cpp;..\..\generated\fonts\src\Font_verdana_10_4bpp_0.cpp;..\..\generated\fonts\src\Font_verdana_20_4bpp_0.cpp;..\..\generated\fonts\src\Font_verdana_40_4bpp_0.cpp;..\..\generated\fonts\src\GeneratedFont.cpp;..\..\generated\fonts\src\Kerning_verdana_10_4bpp.cpp;..\..\generated\fonts\src\Kerning_verdana_20_4bpp.cpp;..\..\generated\fonts\src\Kerning_verdana_40_4bpp.cpp;..\..\generated\fonts\src\Table_verdana_10_4bpp.cpp;..\..\generated\fonts\src\Table_verdana_20_4bpp.cpp;..\..\generated\fonts\src\Table_verdana_40_4bpp.cpp;..\..\generated\images\src\BitmapDatabase.cpp;..\..\generated\images\src\next_button.cpp;..\..\generated\images\src\next_button_pressed.cpp;..\..\generated\texts\src\LanguageGb.cpp;..\..\generated\texts\src\Texts.cpp;..\..\generated\texts\src\TypedTextDatabase.cpp
SDL2TouchController.cpp
HALSDL2.cpp
HALSDL2_icon.cpp
OSWrappers.cpp
main.cpp
mainBase.cpp
FrontendApplication.cpp
FrontendApplicationBase.cpp
Model.cpp
screenPresenter.cpp
screenView.cpp
screenViewBase.cpp
Screen1Presenter.cpp
Screen1View.cpp
Screen1ViewBase.cpp
ApplicationFontProvider.cpp
CachedFont.cpp
FontCache.cpp
Font_verdana_10_4bpp_0.cpp
Font_verdana_20_4bpp_0.cpp
Font_verdana_40_4bpp_0.cpp
GeneratedFont.cpp
Kerning_verdana_10_4bpp.cpp
Kerning_verdana_20_4bpp.cpp
Kerning_verdana_40_4bpp.cpp
Table_verdana_10_4bpp.cpp
Table_verdana_20_4bpp.cpp
Table_verdana_40_4bpp.cpp
BitmapDatabase.cpp
next_button.cpp
next_button_pressed.cpp
LanguageGb.cpp
Texts.cpp
TypedTextDatabase.cpp
Application.vcxproj -> F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\simulator\msvs\..\..\build\Debug\bin\Application.exe

View File

@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0
Debug|Win32|F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\simulator\msvs\|

View File

@ -0,0 +1,121 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\ApplicationFontProvider.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__47871169_fontmanager@hpp DB 01H
__847A7424_constfont@hpp DB 01H
__5319D939_generatedfont@hpp DB 01H
__12ACDD27_vcruntime_new@h DB 01H
__9D2F9204_texts@hpp DB 01H
__9BBA4837_typedtext@hpp DB 01H
__9573A465_applicationfontprovider@cpp DB 01H
msvcjmc ENDS
PUBLIC ?getFont@ApplicationFontProvider@@UAEPAVFont@touchgfx@@G@Z ; ApplicationFontProvider::getFont
PUBLIC __JustMyCode_Default
EXTRN ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ:PROC ; TypedTextDatabase::getFonts
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFont@ApplicationFontProvider@@UAEPAVFont@touchgfx@@G@Z
_TEXT SEGMENT
tv65 = -208 ; size = 4
_this$ = -8 ; size = 4
_typography$ = 8 ; size = 2
?getFont@ApplicationFontProvider@@UAEPAVFont@touchgfx@@G@Z PROC ; ApplicationFontProvider::getFont, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\src\applicationfontprovider.cpp
; Line 9
push ebp
mov ebp, esp
sub esp, 208 ; 000000d0H
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-208]
mov ecx, 52 ; 00000034H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __9573A465_applicationfontprovider@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 10
movzx eax, WORD PTR _typography$[ebp]
mov DWORD PTR tv65[ebp], eax
cmp DWORD PTR tv65[ebp], 0
je SHORT $LN4@getFont
cmp DWORD PTR tv65[ebp], 1
je SHORT $LN5@getFont
cmp DWORD PTR tv65[ebp], 2
je SHORT $LN6@getFont
jmp SHORT $LN7@getFont
$LN4@getFont:
; Line 14
call ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ ; TypedTextDatabase::getFonts
mov ecx, 4
imul edx, ecx, 0
mov eax, DWORD PTR [eax+edx]
jmp SHORT $LN1@getFont
$LN5@getFont:
; Line 17
call ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ ; TypedTextDatabase::getFonts
mov ecx, 4
shl ecx, 0
mov eax, DWORD PTR [eax+ecx]
jmp SHORT $LN1@getFont
$LN6@getFont:
; Line 20
call ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ ; TypedTextDatabase::getFonts
mov ecx, 4
shl ecx, 1
mov eax, DWORD PTR [eax+ecx]
jmp SHORT $LN1@getFont
$LN7@getFont:
; Line 22
xor eax, eax
$LN1@getFont:
; Line 24
pop edi
pop esi
pop ebx
add esp, 208 ; 000000d0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
?getFont@ApplicationFontProvider@@UAEPAVFont@touchgfx@@G@Z ENDP ; ApplicationFontProvider::getFont
_TEXT ENDS
END

View File

@ -0,0 +1,217 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\images\src\BitmapDatabase.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__12ACDD27_vcruntime_new@h DB 01H
__5BEF734D_bitmap@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__4D0FB799_texturemaptypes@hpp DB 01H
__16E755EA_ctype@h DB 01H
__D9038636_basetsd@h DB 01H
__C96DA7E1_corecrt_memcpy_s@h DB 01H
__3F206C21_corecrt_memory@h DB 01H
__C29D763A_corecrt_wstring@h DB 01H
__7645E88F_string@h DB 01H
__7581A722_guiddef@h DB 01H
__F013967F_winnt@h DB 01H
__130B1250_processthreadsapi@h DB 01H
__AECE58ED_memoryapi@h DB 01H
__EE56C1C0_winerror@h DB 01H
__17D8DFB8_winbase@h DB 01H
__7F3094CF_winuser@h DB 01H
__E3B129D4_winioctl@h DB 01H
__F0367C2B_stdlib@h DB 01H
__486E2840_propidl@h DB 01H
__C9939BCC_oleauto@h DB 01H
__9B0D7368_stralign@h DB 01H
__9D43D643_corecrt_stdio_config@h DB 01H
__1AEF8528_corecrt_wstdio@h DB 01H
__C9CF07D4_stdio@h DB 01H
__A25CAD0B_lcd@hpp DB 01H
__C2C4F21D_event@hpp DB 01H
__A0EBFB50_clickevent@hpp DB 01H
__B480C311_dragevent@hpp DB 01H
__6379516F_gestureevent@hpp DB 01H
__8E2BE0F8_uieventlistener@hpp DB 01H
__21DA53D9_gestures@hpp DB 01H
__E13B7F18_atomic@hpp DB 01H
__6CAD0CCB_dma@hpp DB 01H
__5F60933D_framebufferallocator@hpp DB 01H
__C7724B98_transition@hpp DB 01H
__A32FD618_application@hpp DB 01H
__7322433C_callback@hpp DB 01H
__1AC44EAF_drawable@hpp DB 01H
__329C0A72_touchcontroller@hpp DB 01H
__7168D3BD_buttoncontroller@hpp DB 01H
__C29ABF78_mcuinstrumentation@hpp DB 01H
__245F6275_hal@hpp DB 01H
__92AA3D91_lcd16bpp@hpp DB 01H
__342D680D_bitmapdatabase@cpp DB 01H
msvcjmc ENDS
PUBLIC ?getInstance@BitmapDatabase@@YAPBUBitmapData@Bitmap@touchgfx@@XZ ; BitmapDatabase::getInstance
PUBLIC ?getInstanceSize@BitmapDatabase@@YAGXZ ; BitmapDatabase::getInstanceSize
PUBLIC __JustMyCode_Default
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
EXTRN ?_next_button@@3QBEB:BYTE ; _next_button
EXTRN ?_next_button_pressed@@3QBEB:BYTE ; _next_button_pressed
_BSS SEGMENT
?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B DB 028H DUP (?) ; bitmap_database
_BSS ENDS
CRT$XCU SEGMENT
?bitmap_database$initializer$@@3P6AXXZA DD FLAT:??__Ebitmap_database@@YAXXZ ; bitmap_database$initializer$
CRT$XCU ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??__Ebitmap_database@@YAXXZ
text$di SEGMENT
??__Ebitmap_database@@YAXXZ PROC ; `dynamic initializer for 'bitmap_database'', COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\images\src\bitmapdatabase.cpp
; Line 16
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __342D680D_bitmapdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 14
mov DWORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B, OFFSET ?_next_button@@3QBEB ; _next_button
mov DWORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+4, 0
mov eax, 42 ; 0000002aH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+8, ax
mov eax, 42 ; 0000002aH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+10, ax
mov eax, 7
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+12, ax
mov eax, 6
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+14, ax
mov eax, 28 ; 0000001cH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+16, ax
mov eax, 16414 ; 0000401eH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+18, ax
; Line 15
mov DWORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+20, OFFSET ?_next_button_pressed@@3QBEB ; _next_button_pressed
mov DWORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+24, 0
mov eax, 42 ; 0000002aH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+28, ax
mov eax, 42 ; 0000002aH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+30, ax
mov eax, 7
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+32, ax
mov eax, 6
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+34, ax
mov eax, 28 ; 0000001cH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+36, ax
mov eax, 16414 ; 0000401eH
mov WORD PTR ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B+38, ax
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??__Ebitmap_database@@YAXXZ ENDP ; `dynamic initializer for 'bitmap_database''
text$di ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getInstanceSize@BitmapDatabase@@YAGXZ
_TEXT SEGMENT
?getInstanceSize@BitmapDatabase@@YAGXZ PROC ; BitmapDatabase::getInstanceSize, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\images\src\bitmapdatabase.cpp
; Line 26
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __342D680D_bitmapdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 27
mov eax, 2
; Line 28
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getInstanceSize@BitmapDatabase@@YAGXZ ENDP ; BitmapDatabase::getInstanceSize
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getInstance@BitmapDatabase@@YAPBUBitmapData@Bitmap@touchgfx@@XZ
_TEXT SEGMENT
?getInstance@BitmapDatabase@@YAPBUBitmapData@Bitmap@touchgfx@@XZ PROC ; BitmapDatabase::getInstance, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\images\src\bitmapdatabase.cpp
; Line 21
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __342D680D_bitmapdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 22
mov eax, OFFSET ?bitmap_database@@3QBUBitmapData@Bitmap@touchgfx@@B
; Line 23
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getInstance@BitmapDatabase@@YAPBUBitmapData@Bitmap@touchgfx@@XZ ENDP ; BitmapDatabase::getInstance
_TEXT ENDS
END

View File

@ -0,0 +1,382 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\CachedFont.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__847A7424_constfont@hpp DB 01H
__5319D939_generatedfont@hpp DB 01H
__47871169_fontmanager@hpp DB 01H
__12ACDD27_vcruntime_new@h DB 01H
__9D2F9204_texts@hpp DB 01H
__9BBA4837_typedtext@hpp DB 01H
__86F9BC10_fontcache@hpp DB 01H
__77D27AB9_cachedfont@hpp DB 01H
__EE678701_cachedfont@cpp DB 01H
msvcjmc ENDS
PUBLIC ?getPixelData@FontCache@touchgfx@@SAPBEPBUGlyphNode@2@@Z ; touchgfx::FontCache::getPixelData
PUBLIC ?isCached@FontCache@touchgfx@@SA_NPBUGlyphNode@2@@Z ; touchgfx::FontCache::isCached
PUBLIC ?getGlyph@CachedFont@touchgfx@@UBEPBUGlyphNode@2@GAAPBEAAE@Z ; touchgfx::CachedFont::getGlyph
PUBLIC ?getPixelData@CachedFont@touchgfx@@UBEPBEPBUGlyphNode@2@@Z ; touchgfx::CachedFont::getPixelData
PUBLIC ?getKerning@CachedFont@touchgfx@@UBECGPBUGlyphNode@2@@Z ; touchgfx::CachedFont::getKerning
PUBLIC __JustMyCode_Default
EXTRN ?find@ConstFont@touchgfx@@QBEPBUGlyphNode@2@G@Z:PROC ; touchgfx::ConstFont::find
EXTRN ?getGlyph@FontCache@touchgfx@@QBEPBUGlyphNode@2@GG@Z:PROC ; touchgfx::FontCache::getGlyph
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getKerning@CachedFont@touchgfx@@UBECGPBUGlyphNode@2@@Z
_TEXT SEGMENT
_this$ = -8 ; size = 4
_prevChar$ = 8 ; size = 2
_glyph$ = 12 ; size = 4
?getKerning@CachedFont@touchgfx@@UBECGPBUGlyphNode@2@@Z PROC ; touchgfx::CachedFont::getKerning, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\src\cachedfont.cpp
; Line 54
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __EE678701_cachedfont@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 56
xor al, al
; Line 57
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 8
?getKerning@CachedFont@touchgfx@@UBECGPBUGlyphNode@2@@Z ENDP ; touchgfx::CachedFont::getKerning
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getPixelData@CachedFont@touchgfx@@UBEPBEPBUGlyphNode@2@@Z
_TEXT SEGMENT
_data$1 = -20 ; size = 4
_this$ = -8 ; size = 4
_glyph$ = 8 ; size = 4
?getPixelData@CachedFont@touchgfx@@UBEPBEPBUGlyphNode@2@@Z PROC ; touchgfx::CachedFont::getPixelData, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\src\cachedfont.cpp
; Line 9
push ebp
mov ebp, esp
sub esp, 216 ; 000000d8H
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-216]
mov ecx, 54 ; 00000036H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __EE678701_cachedfont@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 11
mov eax, DWORD PTR _glyph$[ebp]
push eax
call ?isCached@FontCache@touchgfx@@SA_NPBUGlyphNode@2@@Z ; touchgfx::FontCache::isCached
add esp, 4
movzx ecx, al
test ecx, ecx
je SHORT $LN2@getPixelDa
; Line 13
mov eax, DWORD PTR _glyph$[ebp]
push eax
call ?getPixelData@FontCache@touchgfx@@SAPBEPBUGlyphNode@2@@Z ; touchgfx::FontCache::getPixelData
add esp, 4
mov DWORD PTR _data$1[ebp], eax
; Line 14
mov eax, DWORD PTR _data$1[ebp]
jmp SHORT $LN1@getPixelDa
; Line 16
jmp SHORT $LN1@getPixelDa
$LN2@getPixelDa:
; Line 18
mov esi, esp
mov eax, DWORD PTR _glyph$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+44]
mov eax, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [edx]
mov ecx, DWORD PTR [eax+44]
mov eax, DWORD PTR [edx+68]
call eax
cmp esi, esp
call __RTC_CheckEsp
$LN1@getPixelDa:
; Line 20
pop edi
pop esi
pop ebx
add esp, 216 ; 000000d8H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
?getPixelData@CachedFont@touchgfx@@UBEPBEPBUGlyphNode@2@@Z ENDP ; touchgfx::CachedFont::getPixelData
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getGlyph@CachedFont@touchgfx@@UBEPBUGlyphNode@2@GAAPBEAAE@Z
_TEXT SEGMENT
_fallbackChar$1 = -32 ; size = 2
_n$ = -20 ; size = 4
_this$ = -8 ; size = 4
_unicode$ = 8 ; size = 2
_pixelData$ = 12 ; size = 4
_bitsPerPixel$ = 16 ; size = 4
?getGlyph@CachedFont@touchgfx@@UBEPBUGlyphNode@2@GAAPBEAAE@Z PROC ; touchgfx::CachedFont::getGlyph, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\src\cachedfont.cpp
; Line 23
push ebp
mov ebp, esp
sub esp, 228 ; 000000e4H
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-228]
mov ecx, 57 ; 00000039H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __EE678701_cachedfont@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 25
movzx eax, WORD PTR _unicode$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [ecx+44]
call ?find@ConstFont@touchgfx@@QBEPBUGlyphNode@2@G@Z ; touchgfx::ConstFont::find
mov DWORD PTR _n$[ebp], eax
; Line 27
cmp DWORD PTR _n$[ebp], 0
jne SHORT $LN2@getGlyph
mov eax, DWORD PTR _this$[ebp]
cmp DWORD PTR [eax+40], 0
je SHORT $LN2@getGlyph
; Line 30
mov eax, DWORD PTR _this$[ebp]
movzx ecx, WORD PTR [eax+36]
push ecx
movzx edx, WORD PTR _unicode$[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+40]
call ?getGlyph@FontCache@touchgfx@@QBEPBUGlyphNode@2@GG@Z ; touchgfx::FontCache::getGlyph
mov DWORD PTR _n$[ebp], eax
$LN2@getGlyph:
; Line 34
cmp DWORD PTR _n$[ebp], 0
jne SHORT $LN3@getGlyph
movzx eax, WORD PTR _unicode$[ebp]
test eax, eax
je SHORT $LN3@getGlyph
movzx eax, WORD PTR _unicode$[ebp]
cmp eax, 10 ; 0000000aH
je SHORT $LN3@getGlyph
; Line 36
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+44]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [ecx]
mov esi, esp
mov ecx, DWORD PTR [edx+44]
mov edx, DWORD PTR [eax+12]
call edx
cmp esi, esp
call __RTC_CheckEsp
mov WORD PTR _fallbackChar$1[ebp], ax
; Line 37
movzx eax, WORD PTR _fallbackChar$1[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [ecx+44]
call ?find@ConstFont@touchgfx@@QBEPBUGlyphNode@2@G@Z ; touchgfx::ConstFont::find
mov DWORD PTR _n$[ebp], eax
; Line 38
cmp DWORD PTR _n$[ebp], 0
jne SHORT $LN3@getGlyph
; Line 40
mov eax, DWORD PTR _this$[ebp]
movzx ecx, WORD PTR [eax+36]
push ecx
movzx edx, WORD PTR _fallbackChar$1[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+40]
call ?getGlyph@FontCache@touchgfx@@QBEPBUGlyphNode@2@GG@Z ; touchgfx::FontCache::getGlyph
mov DWORD PTR _n$[ebp], eax
$LN3@getGlyph:
; Line 44
cmp DWORD PTR _n$[ebp], 0
je SHORT $LN5@getGlyph
; Line 46
mov esi, esp
mov eax, DWORD PTR _n$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx]
mov ecx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+68]
call eax
cmp esi, esp
call __RTC_CheckEsp
mov ecx, DWORD PTR _pixelData$[ebp]
mov DWORD PTR [ecx], eax
; Line 47
mov eax, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [eax]
mov esi, esp
mov ecx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+48]
call eax
cmp esi, esp
call __RTC_CheckEsp
mov ecx, DWORD PTR _bitsPerPixel$[ebp]
mov BYTE PTR [ecx], al
; Line 48
mov eax, DWORD PTR _n$[ebp]
jmp SHORT $LN1@getGlyph
$LN5@getGlyph:
; Line 50
xor eax, eax
$LN1@getGlyph:
; Line 51
pop edi
pop esi
pop ebx
add esp, 228 ; 000000e4H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 12 ; 0000000cH
?getGlyph@CachedFont@touchgfx@@UBEPBUGlyphNode@2@GAAPBEAAE@Z ENDP ; touchgfx::CachedFont::getGlyph
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?isCached@FontCache@touchgfx@@SA_NPBUGlyphNode@2@@Z
_TEXT SEGMENT
tv66 = -196 ; size = 4
_g$ = 8 ; size = 4
?isCached@FontCache@touchgfx@@SA_NPBUGlyphNode@2@@Z PROC ; touchgfx::FontCache::isCached, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\include\fonts\fontcache.hpp
; Line 50
push ebp
mov ebp, esp
sub esp, 196 ; 000000c4H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-196]
mov ecx, 49 ; 00000031H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __86F9BC10_fontcache@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 51
mov eax, DWORD PTR _g$[ebp]
cmp DWORD PTR [eax], -1
jne SHORT $LN3@isCached
mov DWORD PTR tv66[ebp], 1
jmp SHORT $LN4@isCached
$LN3@isCached:
mov DWORD PTR tv66[ebp], 0
$LN4@isCached:
mov al, BYTE PTR tv66[ebp]
; Line 52
pop edi
pop esi
pop ebx
add esp, 196 ; 000000c4H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?isCached@FontCache@touchgfx@@SA_NPBUGlyphNode@2@@Z ENDP ; touchgfx::FontCache::isCached
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getPixelData@FontCache@touchgfx@@SAPBEPBUGlyphNode@2@@Z
_TEXT SEGMENT
_glyph$ = 8 ; size = 4
?getPixelData@FontCache@touchgfx@@SAPBEPBUGlyphNode@2@@Z PROC ; touchgfx::FontCache::getPixelData, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\include\fonts\fontcache.hpp
; Line 46
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __86F9BC10_fontcache@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 47
mov eax, DWORD PTR _glyph$[ebp]
add eax, 20 ; 00000014H
; Line 48
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getPixelData@FontCache@touchgfx@@SAPBEPBUGlyphNode@2@@Z ENDP ; touchgfx::FontCache::getPixelData
_TEXT ENDS
END

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,49 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\Font_verdana_10_4bpp_0.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?unicodes_verdana_10_4bpp_0@@3QBEB ; unicodes_verdana_10_4bpp_0
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?unicodes_verdana_10_4bpp_0@@3QBEB DB 0d2H ; unicodes_verdana_10_4bpp_0
DB 0ceH
DB 013H
DB 02H
DB 0c5H
DB 00H
DB 030H
DB 0cH
DB 010H
DB 05cH
DB 00H
DB 04dH
DB 00H
DB 0c0H
DB 00H
DB 00H
DB 02H
DB 00H
DB 0f0H
DB 00H
CONST ENDS
PUBLIC __JustMyCode_Default
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,34 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\Kerning_verdana_10_4bpp.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?kerning_verdana_10_4bpp@@3QBUKerningNode@touchgfx@@B ; kerning_verdana_10_4bpp
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?kerning_verdana_10_4bpp@@3QBUKerningNode@touchgfx@@B DW 00H ; kerning_verdana_10_4bpp
DB 00H
ORG $+1
CONST ENDS
PUBLIC __JustMyCode_Default
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
END

View File

@ -0,0 +1,55 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\Kerning_verdana_20_4bpp.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?kerning_verdana_20_4bpp@@3QBUKerningNode@touchgfx@@B ; kerning_verdana_20_4bpp
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?kerning_verdana_20_4bpp@@3QBUKerningNode@touchgfx@@B DW 054H ; kerning_verdana_20_4bpp
DB 0ffH
ORG $+1
DW 065H
DB 0ffH
ORG $+1
DW 054H
DB 0feH
ORG $+1
DW 054H
DB 0feH
ORG $+1
DW 054H
DB 0feH
ORG $+1
DW 054H
DB 0feH
ORG $+1
DW 054H
DB 0feH
ORG $+1
DW 054H
DB 0feH
ORG $+1
CONST ENDS
PUBLIC __JustMyCode_Default
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
END

View File

@ -0,0 +1,34 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\Kerning_verdana_40_4bpp.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?kerning_verdana_40_4bpp@@3QBUKerningNode@touchgfx@@B ; kerning_verdana_40_4bpp
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?kerning_verdana_40_4bpp@@3QBUKerningNode@touchgfx@@B DW 00H ; kerning_verdana_40_4bpp
DB 00H
ORG $+1
CONST ENDS
PUBLIC __JustMyCode_Default
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
END

View File

@ -0,0 +1,75 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\texts\src\LanguageGb.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?indicesGb@@3QBIB ; indicesGb
PUBLIC ?textsGb@@3QBGB ; textsGb
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?indicesGb@@3QBIB DD 00H ; indicesGb
DD 0cH
?textsGb@@3QBGB DW 068H ; textsGb
DW 065H
DW 06cH
DW 06cH
DW 06fH
DW 020H
DW 077H
DW 06fH
DW 072H
DW 06cH
DW 064H
DW 00H
DW 077H
DW 065H
DW 06cH
DW 063H
DW 06fH
DW 06dH
DW 065H
DW 020H
DW 074H
DW 06fH
DW 020H
DW 074H
DW 068H
DW 065H
DW 020H
DW 054H
DW 06fH
DW 075H
DW 063H
DW 068H
DW 047H
DW 046H
DW 058H
DW 020H
DW 077H
DW 06fH
DW 072H
DW 06cH
DW 064H
DW 00H
CONST ENDS
PUBLIC __JustMyCode_Default
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
END

View File

@ -0,0 +1,906 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\Table_verdana_10_4bpp.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?glyphs_verdana_10_4bpp@@3QBUGlyphNode@touchgfx@@B ; glyphs_verdana_10_4bpp
PUBLIC ?unicodes_verdana_10_4bpp@@3QBQBEB ; unicodes_verdana_10_4bpp
EXTRN ?unicodes_verdana_10_4bpp_0@@3QBEB:BYTE ; unicodes_verdana_10_4bpp_0
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__847A7424_constfont@hpp DB 01H
__5319D939_generatedfont@hpp DB 01H
__0B22C620_table_verdana_10_4bpp@cpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?glyphs_verdana_10_4bpp@@3QBUGlyphNode@touchgfx@@B DD 00H ; glyphs_verdana_10_4bpp
DW 03fH
DB 05H
DB 08H
DB 08H
DB 00H
DB 05H
DB 00H
DB 00H
DB 00H
ORG $+2
?unicodes_verdana_10_4bpp@@3QBQBEB DD FLAT:?unicodes_verdana_10_4bpp_0@@3QBEB ; unicodes_verdana_10_4bpp
CONST ENDS
PUBLIC ??1Font@touchgfx@@UAE@XZ ; touchgfx::Font::~Font
PUBLIC ?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z ; touchgfx::Font::getGlyph
PUBLIC ?getFallbackChar@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getFallbackChar
PUBLIC ?getEllipsisChar@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getEllipsisChar
PUBLIC ?getFontHeight@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getFontHeight
PUBLIC ?getMinimumTextHeight@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getMinimumTextHeight
PUBLIC ?getBitsPerPixel@Font@touchgfx@@UBEEXZ ; touchgfx::Font::getBitsPerPixel
PUBLIC ?getDataFormatA4@Font@touchgfx@@UBEEXZ ; touchgfx::Font::getDataFormatA4
PUBLIC ?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z ; touchgfx::Font::getKerning
PUBLIC ?getGSUBTable@Font@touchgfx@@UBEPBGXZ ; touchgfx::Font::getGSUBTable
PUBLIC ??_GFont@touchgfx@@UAEPAXI@Z ; touchgfx::Font::`scalar deleting destructor'
PUBLIC ??1ConstFont@touchgfx@@UAE@XZ ; touchgfx::ConstFont::~ConstFont
PUBLIC ??1GeneratedFont@touchgfx@@UAE@XZ ; touchgfx::GeneratedFont::~GeneratedFont
PUBLIC ?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_10_4bpp
PUBLIC __JustMyCode_Default
PUBLIC ??_7Font@touchgfx@@6B@ ; touchgfx::Font::`vftable'
PUBLIC ??_R4Font@touchgfx@@6B@ ; touchgfx::Font::`RTTI Complete Object Locator'
PUBLIC ??_R0?AVFont@touchgfx@@@8 ; touchgfx::Font `RTTI Type Descriptor'
PUBLIC ??_R3Font@touchgfx@@8 ; touchgfx::Font::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2Font@touchgfx@@8 ; touchgfx::Font::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@Font@touchgfx@@8 ; touchgfx::Font::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN __purecall:PROC
EXTRN ??3@YAXPAXI@Z:PROC ; operator delete
EXTRN _atexit:PROC
EXTRN __Init_thread_header:PROC
EXTRN __Init_thread_abort:PROC
EXTRN __Init_thread_footer:PROC
EXTRN ?getStringWidth@Font@touchgfx@@UBAGPBGZZ:PROC ; touchgfx::Font::getStringWidth
EXTRN ?getStringWidth@Font@touchgfx@@UBAGEPBGZZ:PROC ; touchgfx::Font::getStringWidth
EXTRN ?getCharWidth@Font@touchgfx@@UBEGG@Z:PROC ; touchgfx::Font::getCharWidth
EXTRN ?getSpacingAbove@Font@touchgfx@@UBAEPBGZZ:PROC ; touchgfx::Font::getSpacingAbove
EXTRN ?getMaxTextHeight@Font@touchgfx@@UBAGPBGZZ:PROC ; touchgfx::Font::getMaxTextHeight
EXTRN ?getNumberOfLines@Font@touchgfx@@UBAGPBGZZ:PROC ; touchgfx::Font::getNumberOfLines
EXTRN ??_EFont@touchgfx@@UAEPAXI@Z:PROC ; touchgfx::Font::`vector deleting destructor'
EXTRN ??0GeneratedFont@touchgfx@@QAE@PBUGlyphNode@1@GGEEEEEPBQBEPBUKerningNode@1@GGQBG@Z:PROC ; touchgfx::GeneratedFont::GeneratedFont
EXTRN @_RTC_CheckStackVars@8:PROC
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN @__security_check_cookie@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
EXTRN ___CxxFrameHandler3:PROC
EXTRN __Init_thread_epoch:DWORD
EXTRN ?kerning_verdana_10_4bpp@@3QBUKerningNode@touchgfx@@B:BYTE ; kerning_verdana_10_4bpp
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ___security_cookie:DWORD
EXTRN __tls_array:DWORD
EXTRN __tls_index:DWORD
_BSS SEGMENT
?verdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A DB 024H DUP (?) ; `getFont_verdana_10_4bpp'::`2'::verdana_10_4bpp
?$TSS0@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA DD 01H DUP (?) ; TSS0<`template-parameter-2',etFont_verdana_10_4bpp,touchgfx::AAAVGeneratedFont,void,int, ?? &>
_BSS ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
; COMDAT ??_R1A@?0A@EA@Font@touchgfx@@8
rdata$r SEGMENT
??_R1A@?0A@EA@Font@touchgfx@@8 DD FLAT:??_R0?AVFont@touchgfx@@@8 ; touchgfx::Font::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3Font@touchgfx@@8
rdata$r ENDS
; COMDAT ??_R2Font@touchgfx@@8
rdata$r SEGMENT
??_R2Font@touchgfx@@8 DD FLAT:??_R1A@?0A@EA@Font@touchgfx@@8 ; touchgfx::Font::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R3Font@touchgfx@@8
rdata$r SEGMENT
??_R3Font@touchgfx@@8 DD 00H ; touchgfx::Font::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2Font@touchgfx@@8
rdata$r ENDS
; COMDAT ??_R0?AVFont@touchgfx@@@8
data$r SEGMENT
??_R0?AVFont@touchgfx@@@8 DD FLAT:??_7type_info@@6B@ ; touchgfx::Font `RTTI Type Descriptor'
DD 00H
DB '.?AVFont@touchgfx@@', 00H
data$r ENDS
; COMDAT ??_R4Font@touchgfx@@6B@
rdata$r SEGMENT
??_R4Font@touchgfx@@6B@ DD 00H ; touchgfx::Font::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVFont@touchgfx@@@8
DD FLAT:??_R3Font@touchgfx@@8
rdata$r ENDS
; COMDAT ??_7Font@touchgfx@@6B@
CONST SEGMENT
??_7Font@touchgfx@@6B@ DD FLAT:??_R4Font@touchgfx@@6B@ ; touchgfx::Font::`vftable'
DD FLAT:??_EFont@touchgfx@@UAEPAXI@Z
DD FLAT:?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z
DD FLAT:__purecall
DD FLAT:?getFallbackChar@Font@touchgfx@@UBEGXZ
DD FLAT:?getEllipsisChar@Font@touchgfx@@UBEGXZ
DD FLAT:?getStringWidth@Font@touchgfx@@UBAGEPBGZZ
DD FLAT:?getStringWidth@Font@touchgfx@@UBAGPBGZZ
DD FLAT:?getCharWidth@Font@touchgfx@@UBEGG@Z
DD FLAT:?getSpacingAbove@Font@touchgfx@@UBAEPBGZZ
DD FLAT:?getMaxTextHeight@Font@touchgfx@@UBAGPBGZZ
DD FLAT:?getFontHeight@Font@touchgfx@@UBEGXZ
DD FLAT:?getMinimumTextHeight@Font@touchgfx@@UBEGXZ
DD FLAT:?getBitsPerPixel@Font@touchgfx@@UBEEXZ
DD FLAT:?getDataFormatA4@Font@touchgfx@@UBEEXZ
DD FLAT:?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z
DD FLAT:?getNumberOfLines@Font@touchgfx@@UBAGPBGZZ
DD FLAT:?getGSUBTable@Font@touchgfx@@UBEPBGXZ
CONST ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ$0
__ehfuncinfo$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
xdata$x ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??1Font@touchgfx@@UAE@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 05H
xdata$x ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??__Fverdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ
text$yd SEGMENT
??__Fverdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ PROC ; `getFont_verdana_10_4bpp'::`2'::`dynamic atexit destructor for 'verdana_10_4bpp'', COMDAT
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET ?verdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A
call ??1GeneratedFont@touchgfx@@UAE@XZ
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??__Fverdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ ENDP ; `getFont_verdana_10_4bpp'::`2'::`dynamic atexit destructor for 'verdana_10_4bpp''
text$yd ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ PROC ; getFont_verdana_10_4bpp, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\src\table_verdana_10_4bpp.cpp
; Line 22
push ebp
mov ebp, esp
push -1
push __ehhandler$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
mov eax, DWORD PTR fs:0
push eax
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-204]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
mov ecx, OFFSET __0B22C620_table_verdana_10_4bpp@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 23
mov eax, DWORD PTR __tls_index
mov ecx, DWORD PTR fs:__tls_array
mov edx, DWORD PTR [ecx+eax*4]
mov eax, DWORD PTR ?$TSS0@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
cmp eax, DWORD PTR __Init_thread_epoch[edx]
jle SHORT $LN2@getFont_ve
push OFFSET ?$TSS0@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
call __Init_thread_header
add esp, 4
cmp DWORD PTR ?$TSS0@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA, -1
jne SHORT $LN2@getFont_ve
mov DWORD PTR __$EHRec$[ebp+8], 0
push 0
push 0
push 63 ; 0000003fH
push OFFSET ?kerning_verdana_10_4bpp@@3QBUKerningNode@touchgfx@@B ; kerning_verdana_10_4bpp
push OFFSET ?unicodes_verdana_10_4bpp@@3QBQBEB ; unicodes_verdana_10_4bpp
push 0
push 0
push 0
push 4
push 0
push 10 ; 0000000aH
push 1
push OFFSET ?glyphs_verdana_10_4bpp@@3QBUGlyphNode@touchgfx@@B ; glyphs_verdana_10_4bpp
mov ecx, OFFSET ?verdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A
call ??0GeneratedFont@touchgfx@@QAE@PBUGlyphNode@1@GGEEEEEPBQBEPBUKerningNode@1@GGQBG@Z ; touchgfx::GeneratedFont::GeneratedFont
push OFFSET ??__Fverdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ ; `getFont_verdana_10_4bpp'::`2'::`dynamic atexit destructor for 'verdana_10_4bpp''
call _atexit
add esp, 4
mov DWORD PTR __$EHRec$[ebp+8], -1
push OFFSET ?$TSS0@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
call __Init_thread_footer
add esp, 4
$LN2@getFont_ve:
; Line 24
mov eax, OFFSET ?verdana_10_4bpp@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A
; Line 25
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ$0:
push OFFSET ?$TSS0@?1??getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
call __Init_thread_abort
pop ecx
ret 0
__ehhandler$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-208]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
jmp ___CxxFrameHandler3
text$x ENDS
?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ENDP ; getFont_verdana_10_4bpp
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1GeneratedFont@touchgfx@@UAE@XZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
??1GeneratedFont@touchgfx@@UAE@XZ PROC ; touchgfx::GeneratedFont::~GeneratedFont, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ConstFont@touchgfx@@UAE@XZ
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??1GeneratedFont@touchgfx@@UAE@XZ ENDP ; touchgfx::GeneratedFont::~GeneratedFont
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1ConstFont@touchgfx@@UAE@XZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
??1ConstFont@touchgfx@@UAE@XZ PROC ; touchgfx::ConstFont::~ConstFont, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Font@touchgfx@@UAE@XZ ; touchgfx::Font::~Font
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??1ConstFont@touchgfx@@UAE@XZ ENDP ; touchgfx::ConstFont::~ConstFont
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??_GFont@touchgfx@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -8 ; size = 4
___flags$ = 8 ; size = 4
??_GFont@touchgfx@@UAEPAXI@Z PROC ; touchgfx::Font::`scalar deleting destructor', COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Font@touchgfx@@UAE@XZ ; touchgfx::Font::~Font
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
je SHORT $LN2@scalar
push 16 ; 00000010H
mov eax, DWORD PTR _this$[ebp]
push eax
call ??3@YAXPAXI@Z ; operator delete
add esp, 8
$LN2@scalar:
mov eax, DWORD PTR _this$[ebp]
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
??_GFont@touchgfx@@UAEPAXI@Z ENDP ; touchgfx::Font::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getGSUBTable@Font@touchgfx@@UBEPBGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getGSUBTable@Font@touchgfx@@UBEPBGXZ PROC ; touchgfx::Font::getGSUBTable, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 495
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 496
xor eax, eax
; Line 497
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getGSUBTable@Font@touchgfx@@UBEPBGXZ ENDP ; touchgfx::Font::getGSUBTable
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z
_TEXT SEGMENT
_this$ = -8 ; size = 4
_prevChar$ = 8 ; size = 2
_glyph$ = 12 ; size = 4
?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z PROC ; touchgfx::Font::getKerning, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 467
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 468
xor al, al
; Line 469
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 8
?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z ENDP ; touchgfx::Font::getKerning
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getDataFormatA4@Font@touchgfx@@UBEEXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getDataFormatA4@Font@touchgfx@@UBEEXZ PROC ; touchgfx::Font::getDataFormatA4, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 418
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 419
mov eax, DWORD PTR _this$[ebp]
mov al, BYTE PTR [eax+7]
shr al, 7
and al, 1
; Line 420
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getDataFormatA4@Font@touchgfx@@UBEEXZ ENDP ; touchgfx::Font::getDataFormatA4
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getBitsPerPixel@Font@touchgfx@@UBEEXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getBitsPerPixel@Font@touchgfx@@UBEEXZ PROC ; touchgfx::Font::getBitsPerPixel, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 404
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 405
mov eax, DWORD PTR _this$[ebp]
mov al, BYTE PTR [eax+7]
and al, 127 ; 0000007fH
; Line 406
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getBitsPerPixel@Font@touchgfx@@UBEEXZ ENDP ; touchgfx::Font::getBitsPerPixel
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getMinimumTextHeight@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getMinimumTextHeight@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getMinimumTextHeight, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 390
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 391
mov eax, DWORD PTR _this$[ebp]
movzx eax, WORD PTR [eax+4]
mov ecx, DWORD PTR _this$[ebp]
movzx edx, BYTE PTR [ecx+6]
add eax, edx
; Line 392
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getMinimumTextHeight@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getMinimumTextHeight
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFontHeight@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getFontHeight@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getFontHeight, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 374
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 375
mov eax, DWORD PTR _this$[ebp]
mov ax, WORD PTR [eax+4]
; Line 376
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getFontHeight@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getFontHeight
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getEllipsisChar@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getEllipsisChar@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getEllipsisChar, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 265
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 266
mov eax, DWORD PTR _this$[ebp]
mov ax, WORD PTR [eax+12]
; Line 267
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getEllipsisChar@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getEllipsisChar
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFallbackChar@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getFallbackChar@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getFallbackChar, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 250
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 251
mov eax, DWORD PTR _this$[ebp]
mov ax, WORD PTR [eax+10]
; Line 252
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getFallbackChar@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getFallbackChar
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z
_TEXT SEGMENT
_glyph$ = -44 ; size = 4
_bitsPerPixelDummy$ = -29 ; size = 1
_dummyPixelDataPointer$ = -20 ; size = 4
_this$ = -8 ; size = 4
_unicode$ = 8 ; size = 2
?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z PROC ; touchgfx::Font::getGlyph, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 231
push ebp
mov ebp, esp
sub esp, 240 ; 000000f0H
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-240]
mov ecx, 60 ; 0000003cH
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 232
mov DWORD PTR _dummyPixelDataPointer$[ebp], 0
; Line 233
mov BYTE PTR _bitsPerPixelDummy$[ebp], 0
; Line 234
mov esi, esp
lea eax, DWORD PTR _bitsPerPixelDummy$[ebp]
push eax
lea ecx, DWORD PTR _dummyPixelDataPointer$[ebp]
push ecx
movzx edx, WORD PTR _unicode$[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [eax]
mov ecx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+8]
call eax
cmp esi, esp
call __RTC_CheckEsp
mov DWORD PTR _glyph$[ebp], eax
; Line 235
mov eax, DWORD PTR _glyph$[ebp]
; Line 236
push edx
mov ecx, ebp
push eax
lea edx, DWORD PTR $LN6@getGlyph
call @_RTC_CheckStackVars@8
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 240 ; 000000f0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
$LN6@getGlyph:
DD 2
DD $LN5@getGlyph
$LN5@getGlyph:
DD -20 ; ffffffecH
DD 4
DD $LN3@getGlyph
DD -29 ; ffffffe3H
DD 1
DD $LN4@getGlyph
$LN4@getGlyph:
DB 98 ; 00000062H
DB 105 ; 00000069H
DB 116 ; 00000074H
DB 115 ; 00000073H
DB 80 ; 00000050H
DB 101 ; 00000065H
DB 114 ; 00000072H
DB 80 ; 00000050H
DB 105 ; 00000069H
DB 120 ; 00000078H
DB 101 ; 00000065H
DB 108 ; 0000006cH
DB 68 ; 00000044H
DB 117 ; 00000075H
DB 109 ; 0000006dH
DB 109 ; 0000006dH
DB 121 ; 00000079H
DB 0
$LN3@getGlyph:
DB 100 ; 00000064H
DB 117 ; 00000075H
DB 109 ; 0000006dH
DB 109 ; 0000006dH
DB 121 ; 00000079H
DB 80 ; 00000050H
DB 105 ; 00000069H
DB 120 ; 00000078H
DB 101 ; 00000065H
DB 108 ; 0000006cH
DB 68 ; 00000044H
DB 97 ; 00000061H
DB 116 ; 00000074H
DB 97 ; 00000061H
DB 80 ; 00000050H
DB 111 ; 0000006fH
DB 105 ; 00000069H
DB 110 ; 0000006eH
DB 116 ; 00000074H
DB 101 ; 00000065H
DB 114 ; 00000072H
DB 0
?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z ENDP ; touchgfx::Font::getGlyph
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1Font@touchgfx@@UAE@XZ
_TEXT SEGMENT
_this$ = -20 ; size = 4
__$EHRec$ = -12 ; size = 12
??1Font@touchgfx@@UAE@XZ PROC ; touchgfx::Font::~Font, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 193
push ebp
mov ebp, esp
push -1
push __ehhandler$??1Font@touchgfx@@UAE@XZ
mov eax, DWORD PTR fs:0
push eax
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-216]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET ??_7Font@touchgfx@@6B@
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 216 ; 000000d8H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??1Font@touchgfx@@UAE@XZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-220]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$??1Font@touchgfx@@UAE@XZ
jmp ___CxxFrameHandler3
text$x ENDS
??1Font@touchgfx@@UAE@XZ ENDP ; touchgfx::Font::~Font
END

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,986 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\fonts\src\Table_verdana_40_4bpp.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?glyphs_verdana_40_4bpp@@3QBUGlyphNode@touchgfx@@B ; glyphs_verdana_40_4bpp
PUBLIC ?unicodes_verdana_40_4bpp@@3QBQBEB ; unicodes_verdana_40_4bpp
EXTRN ?unicodes_verdana_40_4bpp_0@@3QBEB:BYTE ; unicodes_verdana_40_4bpp_0
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__847A7424_constfont@hpp DB 01H
__5319D939_generatedfont@hpp DB 01H
__7A756A62_table_verdana_40_4bpp@cpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?glyphs_verdana_40_4bpp@@3QBUGlyphNode@touchgfx@@B DD 00H ; glyphs_verdana_40_4bpp
DW 020H
DB 00H
DB 00H
DB 00H
DB 00H
DB 0eH
DB 00H
DB 00H
DB 00H
DD 00H
DW 03fH
DB 011H
DB 01fH
DB 01fH
DB 03H
DB 016H
DB 00H
DB 00H
DB 00H
DD 0108H
DW 064H
DB 014H
DB 020H
DB 01fH
DB 02H
DB 019H
DB 00H
DB 00H
DB 00H
DD 0248H
DW 065H
DB 014H
DB 018H
DB 017H
DB 02H
DB 018H
DB 00H
DB 00H
DB 00H
DD 0338H
DW 068H
DB 013H
DB 01fH
DB 01fH
DB 03H
DB 019H
DB 00H
DB 00H
DB 00H
DD 045fH
DW 06cH
DB 05H
DB 01fH
DB 01fH
DB 03H
DB 0bH
DB 00H
DB 00H
DB 00H
DD 04adH
DW 06fH
DB 015H
DB 018H
DB 017H
DB 02H
DB 018H
DB 00H
DB 00H
DB 00H
DD 05a9H
DW 072H
DB 0fH
DB 016H
DB 016H
DB 03H
DB 011H
DB 00H
DB 00H
DB 00H
DD 064eH
DW 077H
DB 01eH
DB 016H
DB 016H
DB 01H
DB 021H
DB 00H
DB 00H
DB 00H
ORG $+2
?unicodes_verdana_40_4bpp@@3QBQBEB DD FLAT:?unicodes_verdana_40_4bpp_0@@3QBEB ; unicodes_verdana_40_4bpp
CONST ENDS
PUBLIC ??1Font@touchgfx@@UAE@XZ ; touchgfx::Font::~Font
PUBLIC ?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z ; touchgfx::Font::getGlyph
PUBLIC ?getFallbackChar@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getFallbackChar
PUBLIC ?getEllipsisChar@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getEllipsisChar
PUBLIC ?getFontHeight@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getFontHeight
PUBLIC ?getMinimumTextHeight@Font@touchgfx@@UBEGXZ ; touchgfx::Font::getMinimumTextHeight
PUBLIC ?getBitsPerPixel@Font@touchgfx@@UBEEXZ ; touchgfx::Font::getBitsPerPixel
PUBLIC ?getDataFormatA4@Font@touchgfx@@UBEEXZ ; touchgfx::Font::getDataFormatA4
PUBLIC ?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z ; touchgfx::Font::getKerning
PUBLIC ?getGSUBTable@Font@touchgfx@@UBEPBGXZ ; touchgfx::Font::getGSUBTable
PUBLIC ??_GFont@touchgfx@@UAEPAXI@Z ; touchgfx::Font::`scalar deleting destructor'
PUBLIC ??1ConstFont@touchgfx@@UAE@XZ ; touchgfx::ConstFont::~ConstFont
PUBLIC ??1GeneratedFont@touchgfx@@UAE@XZ ; touchgfx::GeneratedFont::~GeneratedFont
PUBLIC ?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_40_4bpp
PUBLIC __JustMyCode_Default
PUBLIC ??_7Font@touchgfx@@6B@ ; touchgfx::Font::`vftable'
PUBLIC ??_R4Font@touchgfx@@6B@ ; touchgfx::Font::`RTTI Complete Object Locator'
PUBLIC ??_R0?AVFont@touchgfx@@@8 ; touchgfx::Font `RTTI Type Descriptor'
PUBLIC ??_R3Font@touchgfx@@8 ; touchgfx::Font::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2Font@touchgfx@@8 ; touchgfx::Font::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@Font@touchgfx@@8 ; touchgfx::Font::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN __purecall:PROC
EXTRN ??3@YAXPAXI@Z:PROC ; operator delete
EXTRN _atexit:PROC
EXTRN __Init_thread_header:PROC
EXTRN __Init_thread_abort:PROC
EXTRN __Init_thread_footer:PROC
EXTRN ?getStringWidth@Font@touchgfx@@UBAGPBGZZ:PROC ; touchgfx::Font::getStringWidth
EXTRN ?getStringWidth@Font@touchgfx@@UBAGEPBGZZ:PROC ; touchgfx::Font::getStringWidth
EXTRN ?getCharWidth@Font@touchgfx@@UBEGG@Z:PROC ; touchgfx::Font::getCharWidth
EXTRN ?getSpacingAbove@Font@touchgfx@@UBAEPBGZZ:PROC ; touchgfx::Font::getSpacingAbove
EXTRN ?getMaxTextHeight@Font@touchgfx@@UBAGPBGZZ:PROC ; touchgfx::Font::getMaxTextHeight
EXTRN ?getNumberOfLines@Font@touchgfx@@UBAGPBGZZ:PROC ; touchgfx::Font::getNumberOfLines
EXTRN ??_EFont@touchgfx@@UAEPAXI@Z:PROC ; touchgfx::Font::`vector deleting destructor'
EXTRN ??0GeneratedFont@touchgfx@@QAE@PBUGlyphNode@1@GGEEEEEPBQBEPBUKerningNode@1@GGQBG@Z:PROC ; touchgfx::GeneratedFont::GeneratedFont
EXTRN @_RTC_CheckStackVars@8:PROC
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN @__security_check_cookie@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
EXTRN ___CxxFrameHandler3:PROC
EXTRN __Init_thread_epoch:DWORD
EXTRN ?kerning_verdana_40_4bpp@@3QBUKerningNode@touchgfx@@B:BYTE ; kerning_verdana_40_4bpp
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ___security_cookie:DWORD
EXTRN __tls_array:DWORD
EXTRN __tls_index:DWORD
_BSS SEGMENT
?verdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A DB 024H DUP (?) ; `getFont_verdana_40_4bpp'::`2'::verdana_40_4bpp
?$TSS0@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA DD 01H DUP (?) ; TSS0<`template-parameter-2',etFont_verdana_40_4bpp,touchgfx::AAAVGeneratedFont,void,int, ?? &>
_BSS ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
; COMDAT ??_R1A@?0A@EA@Font@touchgfx@@8
rdata$r SEGMENT
??_R1A@?0A@EA@Font@touchgfx@@8 DD FLAT:??_R0?AVFont@touchgfx@@@8 ; touchgfx::Font::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3Font@touchgfx@@8
rdata$r ENDS
; COMDAT ??_R2Font@touchgfx@@8
rdata$r SEGMENT
??_R2Font@touchgfx@@8 DD FLAT:??_R1A@?0A@EA@Font@touchgfx@@8 ; touchgfx::Font::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R3Font@touchgfx@@8
rdata$r SEGMENT
??_R3Font@touchgfx@@8 DD 00H ; touchgfx::Font::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2Font@touchgfx@@8
rdata$r ENDS
; COMDAT ??_R0?AVFont@touchgfx@@@8
data$r SEGMENT
??_R0?AVFont@touchgfx@@@8 DD FLAT:??_7type_info@@6B@ ; touchgfx::Font `RTTI Type Descriptor'
DD 00H
DB '.?AVFont@touchgfx@@', 00H
data$r ENDS
; COMDAT ??_R4Font@touchgfx@@6B@
rdata$r SEGMENT
??_R4Font@touchgfx@@6B@ DD 00H ; touchgfx::Font::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVFont@touchgfx@@@8
DD FLAT:??_R3Font@touchgfx@@8
rdata$r ENDS
; COMDAT ??_7Font@touchgfx@@6B@
CONST SEGMENT
??_7Font@touchgfx@@6B@ DD FLAT:??_R4Font@touchgfx@@6B@ ; touchgfx::Font::`vftable'
DD FLAT:??_EFont@touchgfx@@UAEPAXI@Z
DD FLAT:?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z
DD FLAT:__purecall
DD FLAT:?getFallbackChar@Font@touchgfx@@UBEGXZ
DD FLAT:?getEllipsisChar@Font@touchgfx@@UBEGXZ
DD FLAT:?getStringWidth@Font@touchgfx@@UBAGEPBGZZ
DD FLAT:?getStringWidth@Font@touchgfx@@UBAGPBGZZ
DD FLAT:?getCharWidth@Font@touchgfx@@UBEGG@Z
DD FLAT:?getSpacingAbove@Font@touchgfx@@UBAEPBGZZ
DD FLAT:?getMaxTextHeight@Font@touchgfx@@UBAGPBGZZ
DD FLAT:?getFontHeight@Font@touchgfx@@UBEGXZ
DD FLAT:?getMinimumTextHeight@Font@touchgfx@@UBEGXZ
DD FLAT:?getBitsPerPixel@Font@touchgfx@@UBEEXZ
DD FLAT:?getDataFormatA4@Font@touchgfx@@UBEEXZ
DD FLAT:?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z
DD FLAT:?getNumberOfLines@Font@touchgfx@@UBAGPBGZZ
DD FLAT:?getGSUBTable@Font@touchgfx@@UBEPBGXZ
CONST ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ$0
__ehfuncinfo$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
xdata$x ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??1Font@touchgfx@@UAE@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 05H
xdata$x ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??__Fverdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ
text$yd SEGMENT
??__Fverdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ PROC ; `getFont_verdana_40_4bpp'::`2'::`dynamic atexit destructor for 'verdana_40_4bpp'', COMDAT
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET ?verdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A
call ??1GeneratedFont@touchgfx@@UAE@XZ
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??__Fverdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ ENDP ; `getFont_verdana_40_4bpp'::`2'::`dynamic atexit destructor for 'verdana_40_4bpp''
text$yd ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ PROC ; getFont_verdana_40_4bpp, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\fonts\src\table_verdana_40_4bpp.cpp
; Line 30
push ebp
mov ebp, esp
push -1
push __ehhandler$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
mov eax, DWORD PTR fs:0
push eax
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-204]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
mov ecx, OFFSET __7A756A62_table_verdana_40_4bpp@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 31
mov eax, DWORD PTR __tls_index
mov ecx, DWORD PTR fs:__tls_array
mov edx, DWORD PTR [ecx+eax*4]
mov eax, DWORD PTR ?$TSS0@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
cmp eax, DWORD PTR __Init_thread_epoch[edx]
jle SHORT $LN2@getFont_ve
push OFFSET ?$TSS0@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
call __Init_thread_header
add esp, 4
cmp DWORD PTR ?$TSS0@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA, -1
jne SHORT $LN2@getFont_ve
mov DWORD PTR __$EHRec$[ebp+8], 0
push 0
push 0
push 63 ; 0000003fH
push OFFSET ?kerning_verdana_40_4bpp@@3QBUKerningNode@touchgfx@@B ; kerning_verdana_40_4bpp
push OFFSET ?unicodes_verdana_40_4bpp@@3QBQBEB ; unicodes_verdana_40_4bpp
push 1
push 0
push 0
push 4
push 1
push 40 ; 00000028H
push 9
push OFFSET ?glyphs_verdana_40_4bpp@@3QBUGlyphNode@touchgfx@@B ; glyphs_verdana_40_4bpp
mov ecx, OFFSET ?verdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A
call ??0GeneratedFont@touchgfx@@QAE@PBUGlyphNode@1@GGEEEEEPBQBEPBUKerningNode@1@GGQBG@Z ; touchgfx::GeneratedFont::GeneratedFont
push OFFSET ??__Fverdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@YAXXZ ; `getFont_verdana_40_4bpp'::`2'::`dynamic atexit destructor for 'verdana_40_4bpp''
call _atexit
add esp, 4
mov DWORD PTR __$EHRec$[ebp+8], -1
push OFFSET ?$TSS0@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
call __Init_thread_footer
add esp, 4
$LN2@getFont_ve:
; Line 32
mov eax, OFFSET ?verdana_40_4bpp@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4V23@A
; Line 33
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ$0:
push OFFSET ?$TSS0@?1??getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ@4HA
call __Init_thread_abort
pop ecx
ret 0
__ehhandler$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-208]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ
jmp ___CxxFrameHandler3
text$x ENDS
?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ENDP ; getFont_verdana_40_4bpp
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1GeneratedFont@touchgfx@@UAE@XZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
??1GeneratedFont@touchgfx@@UAE@XZ PROC ; touchgfx::GeneratedFont::~GeneratedFont, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ConstFont@touchgfx@@UAE@XZ
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??1GeneratedFont@touchgfx@@UAE@XZ ENDP ; touchgfx::GeneratedFont::~GeneratedFont
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1ConstFont@touchgfx@@UAE@XZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
??1ConstFont@touchgfx@@UAE@XZ PROC ; touchgfx::ConstFont::~ConstFont, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Font@touchgfx@@UAE@XZ ; touchgfx::Font::~Font
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??1ConstFont@touchgfx@@UAE@XZ ENDP ; touchgfx::ConstFont::~ConstFont
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??_GFont@touchgfx@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -8 ; size = 4
___flags$ = 8 ; size = 4
??_GFont@touchgfx@@UAEPAXI@Z PROC ; touchgfx::Font::`scalar deleting destructor', COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Font@touchgfx@@UAE@XZ ; touchgfx::Font::~Font
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
je SHORT $LN2@scalar
push 16 ; 00000010H
mov eax, DWORD PTR _this$[ebp]
push eax
call ??3@YAXPAXI@Z ; operator delete
add esp, 8
$LN2@scalar:
mov eax, DWORD PTR _this$[ebp]
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
??_GFont@touchgfx@@UAEPAXI@Z ENDP ; touchgfx::Font::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getGSUBTable@Font@touchgfx@@UBEPBGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getGSUBTable@Font@touchgfx@@UBEPBGXZ PROC ; touchgfx::Font::getGSUBTable, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 495
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 496
xor eax, eax
; Line 497
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getGSUBTable@Font@touchgfx@@UBEPBGXZ ENDP ; touchgfx::Font::getGSUBTable
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z
_TEXT SEGMENT
_this$ = -8 ; size = 4
_prevChar$ = 8 ; size = 2
_glyph$ = 12 ; size = 4
?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z PROC ; touchgfx::Font::getKerning, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 467
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 468
xor al, al
; Line 469
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 8
?getKerning@Font@touchgfx@@UBECGPBUGlyphNode@2@@Z ENDP ; touchgfx::Font::getKerning
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getDataFormatA4@Font@touchgfx@@UBEEXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getDataFormatA4@Font@touchgfx@@UBEEXZ PROC ; touchgfx::Font::getDataFormatA4, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 418
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 419
mov eax, DWORD PTR _this$[ebp]
mov al, BYTE PTR [eax+7]
shr al, 7
and al, 1
; Line 420
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getDataFormatA4@Font@touchgfx@@UBEEXZ ENDP ; touchgfx::Font::getDataFormatA4
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getBitsPerPixel@Font@touchgfx@@UBEEXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getBitsPerPixel@Font@touchgfx@@UBEEXZ PROC ; touchgfx::Font::getBitsPerPixel, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 404
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 405
mov eax, DWORD PTR _this$[ebp]
mov al, BYTE PTR [eax+7]
and al, 127 ; 0000007fH
; Line 406
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getBitsPerPixel@Font@touchgfx@@UBEEXZ ENDP ; touchgfx::Font::getBitsPerPixel
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getMinimumTextHeight@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getMinimumTextHeight@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getMinimumTextHeight, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 390
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 391
mov eax, DWORD PTR _this$[ebp]
movzx eax, WORD PTR [eax+4]
mov ecx, DWORD PTR _this$[ebp]
movzx edx, BYTE PTR [ecx+6]
add eax, edx
; Line 392
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getMinimumTextHeight@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getMinimumTextHeight
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFontHeight@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getFontHeight@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getFontHeight, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 374
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 375
mov eax, DWORD PTR _this$[ebp]
mov ax, WORD PTR [eax+4]
; Line 376
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getFontHeight@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getFontHeight
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getEllipsisChar@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getEllipsisChar@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getEllipsisChar, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 265
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 266
mov eax, DWORD PTR _this$[ebp]
mov ax, WORD PTR [eax+12]
; Line 267
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getEllipsisChar@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getEllipsisChar
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFallbackChar@Font@touchgfx@@UBEGXZ
_TEXT SEGMENT
_this$ = -8 ; size = 4
?getFallbackChar@Font@touchgfx@@UBEGXZ PROC ; touchgfx::Font::getFallbackChar, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 250
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 251
mov eax, DWORD PTR _this$[ebp]
mov ax, WORD PTR [eax+10]
; Line 252
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getFallbackChar@Font@touchgfx@@UBEGXZ ENDP ; touchgfx::Font::getFallbackChar
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z
_TEXT SEGMENT
_glyph$ = -44 ; size = 4
_bitsPerPixelDummy$ = -29 ; size = 1
_dummyPixelDataPointer$ = -20 ; size = 4
_this$ = -8 ; size = 4
_unicode$ = 8 ; size = 2
?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z PROC ; touchgfx::Font::getGlyph, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 231
push ebp
mov ebp, esp
sub esp, 240 ; 000000f0H
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-240]
mov ecx, 60 ; 0000003cH
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 232
mov DWORD PTR _dummyPixelDataPointer$[ebp], 0
; Line 233
mov BYTE PTR _bitsPerPixelDummy$[ebp], 0
; Line 234
mov esi, esp
lea eax, DWORD PTR _bitsPerPixelDummy$[ebp]
push eax
lea ecx, DWORD PTR _dummyPixelDataPointer$[ebp]
push ecx
movzx edx, WORD PTR _unicode$[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [eax]
mov ecx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+8]
call eax
cmp esi, esp
call __RTC_CheckEsp
mov DWORD PTR _glyph$[ebp], eax
; Line 235
mov eax, DWORD PTR _glyph$[ebp]
; Line 236
push edx
mov ecx, ebp
push eax
lea edx, DWORD PTR $LN6@getGlyph
call @_RTC_CheckStackVars@8
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 240 ; 000000f0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
$LN6@getGlyph:
DD 2
DD $LN5@getGlyph
$LN5@getGlyph:
DD -20 ; ffffffecH
DD 4
DD $LN3@getGlyph
DD -29 ; ffffffe3H
DD 1
DD $LN4@getGlyph
$LN4@getGlyph:
DB 98 ; 00000062H
DB 105 ; 00000069H
DB 116 ; 00000074H
DB 115 ; 00000073H
DB 80 ; 00000050H
DB 101 ; 00000065H
DB 114 ; 00000072H
DB 80 ; 00000050H
DB 105 ; 00000069H
DB 120 ; 00000078H
DB 101 ; 00000065H
DB 108 ; 0000006cH
DB 68 ; 00000044H
DB 117 ; 00000075H
DB 109 ; 0000006dH
DB 109 ; 0000006dH
DB 121 ; 00000079H
DB 0
$LN3@getGlyph:
DB 100 ; 00000064H
DB 117 ; 00000075H
DB 109 ; 0000006dH
DB 109 ; 0000006dH
DB 121 ; 00000079H
DB 80 ; 00000050H
DB 105 ; 00000069H
DB 120 ; 00000078H
DB 101 ; 00000065H
DB 108 ; 0000006cH
DB 68 ; 00000044H
DB 97 ; 00000061H
DB 116 ; 00000074H
DB 97 ; 00000061H
DB 80 ; 00000050H
DB 111 ; 0000006fH
DB 105 ; 00000069H
DB 110 ; 0000006eH
DB 116 ; 00000074H
DB 101 ; 00000065H
DB 114 ; 00000072H
DB 0
?getGlyph@Font@touchgfx@@UBEPBUGlyphNode@2@G@Z ENDP ; touchgfx::Font::getGlyph
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1Font@touchgfx@@UAE@XZ
_TEXT SEGMENT
_this$ = -20 ; size = 4
__$EHRec$ = -12 ; size = 12
??1Font@touchgfx@@UAE@XZ PROC ; touchgfx::Font::~Font, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\font.hpp
; Line 193
push ebp
mov ebp, esp
push -1
push __ehhandler$??1Font@touchgfx@@UAE@XZ
mov eax, DWORD PTR fs:0
push eax
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-216]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7DEF9D3F_font@hpp
call @__CheckForDebuggerJustMyCode@4
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET ??_7Font@touchgfx@@6B@
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 216 ; 000000d8H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??1Font@touchgfx@@UAE@XZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-220]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$??1Font@touchgfx@@UAE@XZ
jmp ___CxxFrameHandler3
text$x ENDS
??1Font@touchgfx@@UAE@XZ ENDP ; touchgfx::Font::~Font
END

View File

@ -0,0 +1,339 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\texts\src\Texts.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?currentLanguage@Texts@touchgfx@@0GA ; touchgfx::Texts::currentLanguage
PUBLIC ?getStringWidthFunction@Font@touchgfx@@1P812@BEGEPBGPAD@ZQ12@ ; touchgfx::Font::getStringWidthFunction
PUBLIC ?unicodeConverterInitFunction@TextProvider@touchgfx@@0P812@AEXXZQ12@ ; touchgfx::TextProvider::unicodeConverterInitFunction
PUBLIC ?unicodeConverterFunction@TextProvider@touchgfx@@0P812@AEGE@ZQ12@ ; touchgfx::TextProvider::unicodeConverterFunction
PUBLIC ?drawStringFunction@LCD@touchgfx@@0P812@AEXABVRect@2@0ABUStringVisuals@12@PBGPAD@ZQ12@ ; touchgfx::LCD::drawStringFunction
EXTRN ?getStringWidthLTR@Font@touchgfx@@IBEGEPBGPAD@Z:PROC ; touchgfx::Font::getStringWidthLTR
EXTRN ?drawStringLTR@LCD@touchgfx@@IAEXABVRect@2@0ABUStringVisuals@12@PBGPAD@Z:PROC ; touchgfx::LCD::drawStringLTR
EXTRN ?indicesGb@@3QBIB:BYTE ; indicesGb
EXTRN ?textsGb@@3QBGB:BYTE ; textsGb
_BSS SEGMENT
?currentLanguage@Texts@touchgfx@@0GA DW 01H DUP (?) ; touchgfx::Texts::currentLanguage
ALIGN 4
?unicodeConverterInitFunction@TextProvider@touchgfx@@0P812@AEXXZQ12@ DD 01H DUP (?) ; touchgfx::TextProvider::unicodeConverterInitFunction
?unicodeConverterFunction@TextProvider@touchgfx@@0P812@AEGE@ZQ12@ DD 01H DUP (?) ; touchgfx::TextProvider::unicodeConverterFunction
_BSS ENDS
msvcjmc SEGMENT
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__9D2F9204_texts@hpp DB 01H
__C2C4F21D_event@hpp DB 01H
__A0EBFB50_clickevent@hpp DB 01H
__B480C311_dragevent@hpp DB 01H
__6379516F_gestureevent@hpp DB 01H
__8E2BE0F8_uieventlistener@hpp DB 01H
__21DA53D9_gestures@hpp DB 01H
__16E755EA_ctype@h DB 01H
__D9038636_basetsd@h DB 01H
__C96DA7E1_corecrt_memcpy_s@h DB 01H
__3F206C21_corecrt_memory@h DB 01H
__C29D763A_corecrt_wstring@h DB 01H
__7645E88F_string@h DB 01H
__7581A722_guiddef@h DB 01H
__F013967F_winnt@h DB 01H
__130B1250_processthreadsapi@h DB 01H
__AECE58ED_memoryapi@h DB 01H
__EE56C1C0_winerror@h DB 01H
__17D8DFB8_winbase@h DB 01H
__7F3094CF_winuser@h DB 01H
__E3B129D4_winioctl@h DB 01H
__F0367C2B_stdlib@h DB 01H
__486E2840_propidl@h DB 01H
__C9939BCC_oleauto@h DB 01H
__9B0D7368_stralign@h DB 01H
__E13B7F18_atomic@hpp DB 01H
__6CAD0CCB_dma@hpp DB 01H
__9D43D643_corecrt_stdio_config@h DB 01H
__1AEF8528_corecrt_wstdio@h DB 01H
__C9CF07D4_stdio@h DB 01H
__12ACDD27_vcruntime_new@h DB 01H
__5BEF734D_bitmap@hpp DB 01H
__5F60933D_framebufferallocator@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__4D0FB799_texturemaptypes@hpp DB 01H
__A25CAD0B_lcd@hpp DB 01H
__C7724B98_transition@hpp DB 01H
__A32FD618_application@hpp DB 01H
__7322433C_callback@hpp DB 01H
__1AC44EAF_drawable@hpp DB 01H
__329C0A72_touchcontroller@hpp DB 01H
__7168D3BD_buttoncontroller@hpp DB 01H
__C29ABF78_mcuinstrumentation@hpp DB 01H
__245F6275_hal@hpp DB 01H
__9BBA4837_typedtext@hpp DB 01H
__7E166E6B_texts@cpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?staticLanguageIndices@@3QBQBIB DD FLAT:?indicesGb@@3QBIB ; staticLanguageIndices
?staticLanguageTexts@@3QBQBGB DD FLAT:?textsGb@@3QBGB ; staticLanguageTexts
CONST ENDS
_DATA SEGMENT
?getStringWidthFunction@Font@touchgfx@@1P812@BEGEPBGPAD@ZQ12@ DD FLAT:?getStringWidthLTR@Font@touchgfx@@IBEGEPBGPAD@Z ; touchgfx::Font::getStringWidthFunction
?drawStringFunction@LCD@touchgfx@@0P812@AEXABVRect@2@0ABUStringVisuals@12@PBGPAD@ZQ12@ DD FLAT:?drawStringLTR@LCD@touchgfx@@IAEXABVRect@2@0ABUStringVisuals@12@PBGPAD@Z ; touchgfx::LCD::drawStringFunction
_DATA ENDS
PUBLIC ?setLanguage@Texts@touchgfx@@SAXG@Z ; touchgfx::Texts::setLanguage
PUBLIC ?getText@Texts@touchgfx@@QBEPBGG@Z ; touchgfx::Texts::getText
PUBLIC ?setTranslation@Texts@touchgfx@@SAXGPBX@Z ; touchgfx::Texts::setTranslation
PUBLIC ?registerTypedTextDatabase@TypedText@touchgfx@@SAXPBUTypedTextData@12@PBQBVFont@2@G@Z ; touchgfx::TypedText::registerTypedTextDatabase
PUBLIC __JustMyCode_Default
EXTRN ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ:PROC ; TypedTextDatabase::getFonts
EXTRN ?getInstanceSize@TypedTextDatabase@@YAGXZ:PROC ; TypedTextDatabase::getInstanceSize
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
EXTRN ?typedTexts@TypedText@touchgfx@@0PBUTypedTextData@12@B:DWORD ; touchgfx::TypedText::typedTexts
EXTRN ?fonts@TypedText@touchgfx@@0PBQBVFont@2@B:DWORD ; touchgfx::TypedText::fonts
EXTRN ?numberOfTypedTexts@TypedText@touchgfx@@0GA:WORD ; touchgfx::TypedText::numberOfTypedTexts
EXTRN ?typedTextDatabaseArray@@3QBQBUTypedTextData@TypedText@touchgfx@@B:BYTE ; typedTextDatabaseArray
_BSS SEGMENT
?languagesArray@@3PAPBUTranslationHeader@@A DD 01H DUP (?) ; languagesArray
?currentLanguagePtr@@3PBGB DD 01H DUP (?) ; currentLanguagePtr
?currentLanguageIndices@@3PBIB DD 01H DUP (?) ; currentLanguageIndices
_BSS ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?registerTypedTextDatabase@TypedText@touchgfx@@SAXPBUTypedTextData@12@PBQBVFont@2@G@Z
_TEXT SEGMENT
_data$ = 8 ; size = 4
_f$ = 12 ; size = 4
_n$ = 16 ; size = 2
?registerTypedTextDatabase@TypedText@touchgfx@@SAXPBUTypedTextData@12@PBQBVFont@2@G@Z PROC ; touchgfx::TypedText::registerTypedTextDatabase, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\middlewares\st\touchgfx\framework\include\touchgfx\typedtext.hpp
; Line 199
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __9BBA4837_typedtext@hpp
call @__CheckForDebuggerJustMyCode@4
; Line 200
mov eax, DWORD PTR _data$[ebp]
mov DWORD PTR ?typedTexts@TypedText@touchgfx@@0PBUTypedTextData@12@B, eax ; touchgfx::TypedText::typedTexts
; Line 201
mov eax, DWORD PTR _f$[ebp]
mov DWORD PTR ?fonts@TypedText@touchgfx@@0PBQBVFont@2@B, eax ; touchgfx::TypedText::fonts
; Line 202
mov ax, WORD PTR _n$[ebp]
mov WORD PTR ?numberOfTypedTexts@TypedText@touchgfx@@0GA, ax ; touchgfx::TypedText::numberOfTypedTexts
; Line 203
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?registerTypedTextDatabase@TypedText@touchgfx@@SAXPBUTypedTextData@12@PBQBVFont@2@G@Z ENDP ; touchgfx::TypedText::registerTypedTextDatabase
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?setTranslation@Texts@touchgfx@@SAXGPBX@Z
_TEXT SEGMENT
_id$ = 8 ; size = 2
_translation$ = 12 ; size = 4
?setTranslation@Texts@touchgfx@@SAXGPBX@Z PROC ; touchgfx::Texts::setTranslation, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\texts.cpp
; Line 76
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __7E166E6B_texts@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 77
movzx eax, WORD PTR _id$[ebp]
mov ecx, DWORD PTR _translation$[ebp]
mov DWORD PTR ?languagesArray@@3PAPBUTranslationHeader@@A[eax*4], ecx
; Line 78
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?setTranslation@Texts@touchgfx@@SAXGPBX@Z ENDP ; touchgfx::Texts::setTranslation
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getText@Texts@touchgfx@@QBEPBGG@Z
_TEXT SEGMENT
_this$ = -8 ; size = 4
_id$ = 8 ; size = 2
?getText@Texts@touchgfx@@QBEPBGG@Z PROC ; touchgfx::Texts::getText, COMDAT
; _this$ = ecx
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\texts.cpp
; Line 81
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
push ecx
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
pop ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, OFFSET __7E166E6B_texts@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 82
movzx eax, WORD PTR _id$[ebp]
mov ecx, DWORD PTR ?currentLanguageIndices@@3PBIB
mov edx, DWORD PTR [ecx+eax*4]
mov eax, DWORD PTR ?currentLanguagePtr@@3PBGB
lea eax, DWORD PTR [eax+edx*2]
; Line 83
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 4
?getText@Texts@touchgfx@@QBEPBGG@Z ENDP ; touchgfx::Texts::getText
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?setLanguage@Texts@touchgfx@@SAXG@Z
_TEXT SEGMENT
_translation$1 = -20 ; size = 4
_currentLanguageTypedText$ = -8 ; size = 4
_id$ = 8 ; size = 2
?setLanguage@Texts@touchgfx@@SAXG@Z PROC ; touchgfx::Texts::setLanguage, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\texts.cpp
; Line 46
push ebp
mov ebp, esp
sub esp, 216 ; 000000d8H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-216]
mov ecx, 54 ; 00000036H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __7E166E6B_texts@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 47
mov DWORD PTR _currentLanguageTypedText$[ebp], 0
; Line 48
movzx eax, WORD PTR _id$[ebp]
cmp eax, 1
jge SHORT $LN2@setLanguag
; Line 50
movzx eax, WORD PTR _id$[ebp]
cmp DWORD PTR ?languagesArray@@3PAPBUTranslationHeader@@A[eax*4], 0
je SHORT $LN3@setLanguag
; Line 53
movzx eax, WORD PTR _id$[ebp]
mov ecx, DWORD PTR ?languagesArray@@3PAPBUTranslationHeader@@A[eax*4]
mov DWORD PTR _translation$1[ebp], ecx
; Line 54
mov eax, DWORD PTR _translation$1[ebp]
mov ecx, DWORD PTR _translation$1[ebp]
add ecx, DWORD PTR [eax]
mov DWORD PTR ?currentLanguagePtr@@3PBGB, ecx
; Line 55
mov eax, DWORD PTR _translation$1[ebp]
mov ecx, DWORD PTR _translation$1[ebp]
add ecx, DWORD PTR [eax+4]
mov DWORD PTR ?currentLanguageIndices@@3PBIB, ecx
; Line 56
mov eax, DWORD PTR _translation$1[ebp]
mov ecx, DWORD PTR _translation$1[ebp]
add ecx, DWORD PTR [eax+8]
mov DWORD PTR _currentLanguageTypedText$[ebp], ecx
; Line 58
jmp SHORT $LN2@setLanguag
$LN3@setLanguag:
; Line 61
movzx eax, WORD PTR _id$[ebp]
mov ecx, DWORD PTR ?staticLanguageTexts@@3QBQBGB[eax*4]
mov DWORD PTR ?currentLanguagePtr@@3PBGB, ecx
; Line 62
movzx eax, WORD PTR _id$[ebp]
mov ecx, DWORD PTR ?staticLanguageIndices@@3QBQBIB[eax*4]
mov DWORD PTR ?currentLanguageIndices@@3PBIB, ecx
; Line 63
movzx eax, WORD PTR _id$[ebp]
mov ecx, DWORD PTR ?typedTextDatabaseArray@@3QBQBUTypedTextData@TypedText@touchgfx@@B[eax*4]
mov DWORD PTR _currentLanguageTypedText$[ebp], ecx
$LN2@setLanguag:
; Line 67
cmp DWORD PTR _currentLanguageTypedText$[ebp], 0
je SHORT $LN1@setLanguag
; Line 69
mov ax, WORD PTR _id$[ebp]
mov WORD PTR ?currentLanguage@Texts@touchgfx@@0GA, ax ; touchgfx::Texts::currentLanguage
; Line 70
call ?getInstanceSize@TypedTextDatabase@@YAGXZ ; TypedTextDatabase::getInstanceSize
movzx eax, ax
push eax
call ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ ; TypedTextDatabase::getFonts
push eax
mov ecx, DWORD PTR _currentLanguageTypedText$[ebp]
push ecx
call ?registerTypedTextDatabase@TypedText@touchgfx@@SAXPBUTypedTextData@12@PBQBVFont@2@G@Z ; touchgfx::TypedText::registerTypedTextDatabase
add esp, 12 ; 0000000cH
$LN1@setLanguag:
; Line 73
pop edi
pop esi
pop ebx
add esp, 216 ; 000000d8H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?setLanguage@Texts@touchgfx@@SAXG@Z ENDP ; touchgfx::Texts::setLanguage
_TEXT ENDS
END

View File

@ -0,0 +1,349 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27035.0
TITLE F:\PROJECT\SOR\03_GitTouchGFX\hellotouchGFX\example3\demo1\Src\generated\texts\src\TypedTextDatabase.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC ?typedTextDatabaseArray@@3QBQBUTypedTextData@TypedText@touchgfx@@B ; typedTextDatabaseArray
msvcjmc SEGMENT
__12ACDD27_vcruntime_new@h DB 01H
__80521A76_types@hpp DB 01H
__3E3679E6_unicode@hpp DB 01H
__7DEF9D3F_font@hpp DB 01H
__9D2F9204_texts@hpp DB 01H
__9BBA4837_typedtext@hpp DB 01H
__847A7424_constfont@hpp DB 01H
__5319D939_generatedfont@hpp DB 01H
__70B9A6BF_typedtextdatabase@cpp DB 01H
msvcjmc ENDS
CONST SEGMENT
?typedTextDatabaseArray@@3QBQBUTypedTextData@TypedText@touchgfx@@B DD FLAT:?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B ; typedTextDatabaseArray
CONST ENDS
PUBLIC ?getInstance@TypedTextDatabase@@YAPBUTypedTextData@TypedText@touchgfx@@G@Z ; TypedTextDatabase::getInstance
PUBLIC ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ ; TypedTextDatabase::getFonts
PUBLIC ?setFont@TypedTextDatabase@@YAPBVFont@touchgfx@@GPBV23@@Z ; TypedTextDatabase::setFont
PUBLIC ?resetFont@TypedTextDatabase@@YAXG@Z ; TypedTextDatabase::resetFont
PUBLIC ?getInstanceSize@TypedTextDatabase@@YAGXZ ; TypedTextDatabase::getInstanceSize
PUBLIC __JustMyCode_Default
PUBLIC ?_fonts@@3PAPBVFont@touchgfx@@A ; _fonts
PUBLIC ?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B ; typedText_database_DEFAULT
EXTRN ?getFont_verdana_20_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ:PROC ; getFont_verdana_20_4bpp
EXTRN ?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ:PROC ; getFont_verdana_40_4bpp
EXTRN ?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ:PROC ; getFont_verdana_10_4bpp
EXTRN @__CheckForDebuggerJustMyCode@4:PROC
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_InitBase:PROC
EXTRN __RTC_Shutdown:PROC
_BSS SEGMENT
?_fonts@@3PAPBVFont@touchgfx@@A DD 03H DUP (?) ; _fonts
?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B DW 02H DUP (?) ; typedText_database_DEFAULT
_BSS ENDS
CRT$XCU SEGMENT
?_fonts$initializer$@@3P6AXXZA DD FLAT:??__E_fonts@@YAXXZ ; _fonts$initializer$
CRT$XCU ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
__RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
__RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase
rtc$IMZ ENDS
CRT$XCU SEGMENT
?typedText_database_DEFAULT$initializer$@@3P6AXXZA DD FLAT:??__EtypedText_database_DEFAULT@@YAXXZ ; typedText_database_DEFAULT$initializer$
CRT$XCU ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
push ebp
mov ebp, esp
pop ebp
ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??__EtypedText_database_DEFAULT@@YAXXZ
text$di SEGMENT
??__EtypedText_database_DEFAULT@@YAXXZ PROC ; `dynamic initializer for 'typedText_database_DEFAULT'', COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 27
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 25
mov BYTE PTR ?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B, 1
mov BYTE PTR ?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B+1, 0
; Line 26
mov BYTE PTR ?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B+2, 0
mov BYTE PTR ?typedText_database_DEFAULT@@3QBUTypedTextData@TypedText@touchgfx@@B+3, 0
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??__EtypedText_database_DEFAULT@@YAXXZ ENDP ; `dynamic initializer for 'typedText_database_DEFAULT''
text$di ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??__E_fonts@@YAXXZ
text$di SEGMENT
??__E_fonts@@YAXXZ PROC ; `dynamic initializer for '_fonts'', COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 17
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 14
call ?getFont_verdana_20_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_20_4bpp
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A, eax
; Line 15
call ?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_40_4bpp
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A+4, eax
; Line 16
call ?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_10_4bpp
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A+8, eax
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
??__E_fonts@@YAXXZ ENDP ; `dynamic initializer for '_fonts''
text$di ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getInstanceSize@TypedTextDatabase@@YAGXZ
_TEXT SEGMENT
?getInstanceSize@TypedTextDatabase@@YAGXZ PROC ; TypedTextDatabase::getInstanceSize, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 43
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 44
mov eax, 2
; Line 45
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getInstanceSize@TypedTextDatabase@@YAGXZ ENDP ; TypedTextDatabase::getInstanceSize
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?resetFont@TypedTextDatabase@@YAXG@Z
_TEXT SEGMENT
tv65 = -196 ; size = 4
_fontId$ = 8 ; size = 2
?resetFont@TypedTextDatabase@@YAXG@Z PROC ; TypedTextDatabase::resetFont, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 60
push ebp
mov ebp, esp
sub esp, 196 ; 000000c4H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-196]
mov ecx, 49 ; 00000031H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 61
movzx eax, WORD PTR _fontId$[ebp]
mov DWORD PTR tv65[ebp], eax
cmp DWORD PTR tv65[ebp], 0
je SHORT $LN4@resetFont
cmp DWORD PTR tv65[ebp], 1
je SHORT $LN5@resetFont
cmp DWORD PTR tv65[ebp], 2
je SHORT $LN6@resetFont
jmp SHORT $LN1@resetFont
$LN4@resetFont:
; Line 64
call ?getFont_verdana_20_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_20_4bpp
mov ecx, 4
imul edx, ecx, 0
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A[edx], eax
; Line 65
jmp SHORT $LN1@resetFont
$LN5@resetFont:
; Line 67
call ?getFont_verdana_40_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_40_4bpp
mov ecx, 4
shl ecx, 0
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A[ecx], eax
; Line 68
jmp SHORT $LN1@resetFont
$LN6@resetFont:
; Line 70
call ?getFont_verdana_10_4bpp@@YAAAVGeneratedFont@touchgfx@@XZ ; getFont_verdana_10_4bpp
mov ecx, 4
shl ecx, 1
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A[ecx], eax
$LN1@resetFont:
; Line 73
pop edi
pop esi
pop ebx
add esp, 196 ; 000000c4H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?resetFont@TypedTextDatabase@@YAXG@Z ENDP ; TypedTextDatabase::resetFont
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?setFont@TypedTextDatabase@@YAPBVFont@touchgfx@@GPBV23@@Z
_TEXT SEGMENT
_old$ = -8 ; size = 4
_fontId$ = 8 ; size = 2
_font$ = 12 ; size = 4
?setFont@TypedTextDatabase@@YAPBVFont@touchgfx@@GPBV23@@Z PROC ; TypedTextDatabase::setFont, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 53
push ebp
mov ebp, esp
sub esp, 204 ; 000000ccH
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-204]
mov ecx, 51 ; 00000033H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 54
movzx eax, WORD PTR _fontId$[ebp]
mov ecx, DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A[eax*4]
mov DWORD PTR _old$[ebp], ecx
; Line 55
movzx eax, WORD PTR _fontId$[ebp]
mov ecx, DWORD PTR _font$[ebp]
mov DWORD PTR ?_fonts@@3PAPBVFont@touchgfx@@A[eax*4], ecx
; Line 56
mov eax, DWORD PTR _old$[ebp]
; Line 57
pop edi
pop esi
pop ebx
add esp, 204 ; 000000ccH
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?setFont@TypedTextDatabase@@YAPBVFont@touchgfx@@GPBV23@@Z ENDP ; TypedTextDatabase::setFont
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ
_TEXT SEGMENT
?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ PROC ; TypedTextDatabase::getFonts, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 48
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 49
mov eax, OFFSET ?_fonts@@3PAPBVFont@touchgfx@@A ; _fonts
; Line 50
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getFonts@TypedTextDatabase@@YAPAPBVFont@touchgfx@@XZ ENDP ; TypedTextDatabase::getFonts
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?getInstance@TypedTextDatabase@@YAPBUTypedTextData@TypedText@touchgfx@@G@Z
_TEXT SEGMENT
_id$ = 8 ; size = 2
?getInstance@TypedTextDatabase@@YAPBUTypedTextData@TypedText@touchgfx@@G@Z PROC ; TypedTextDatabase::getInstance, COMDAT
; File f:\project\sor\03_gittouchgfx\hellotouchgfx\example3\demo1\src\generated\texts\src\typedtextdatabase.cpp
; Line 38
push ebp
mov ebp, esp
sub esp, 192 ; 000000c0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-192]
mov ecx, 48 ; 00000030H
mov eax, -858993460 ; ccccccccH
rep stosd
mov ecx, OFFSET __70B9A6BF_typedtextdatabase@cpp
call @__CheckForDebuggerJustMyCode@4
; Line 39
movzx eax, WORD PTR _id$[ebp]
mov eax, DWORD PTR ?typedTextDatabaseArray@@3QBQBUTypedTextData@TypedText@touchgfx@@B[eax*4]
; Line 40
pop edi
pop esi
pop ebx
add esp, 192 ; 000000c0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?getInstance@TypedTextDatabase@@YAPBUTypedTextData@TypedText@touchgfx@@G@Z ENDP ; TypedTextDatabase::getInstance
_TEXT ENDS
END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
A4
32
63
70

View File

@ -1,4 +1,4 @@
A4
32
63
100

View File

@ -4,6 +4,6 @@ FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_verdana_10_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE =
{
// Unicode: [0x003F, ]
0xD2, 0xCE, 0x03, 0x21, 0x50, 0x0C, 0x00, 0x30, 0x0C, 0x00, 0xC1, 0x05, 0x00, 0x4D, 0x00, 0x00,
0x0C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0F, 0x00
0xD2, 0xCE, 0x13, 0x02, 0xC5, 0x00, 0x30, 0x0C, 0x10, 0x5C, 0x00, 0x4D, 0x00, 0xC0, 0x00, 0x00,
0x02, 0x00, 0xF0, 0x00
};

View File

@ -6,18 +6,16 @@ KEEP extern const uint8_t unicodes_verdana_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH
// Unicode: [0x0020, ]
// (Has no glyph data)
// Unicode: [0x003F, ]
0x93, 0xEC, 0xDE, 0x29, 0x00, 0xF7, 0xAD, 0xDA, 0xEF, 0x02, 0x33, 0x00, 0x00, 0xF9, 0x0A, 0x00,
0x00, 0x00, 0xF3, 0x0C, 0x00, 0x00, 0x00, 0xF5, 0x0A, 0x00, 0x00, 0x10, 0xFD, 0x03, 0x00, 0x00,
0xD5, 0x6F, 0x00, 0x00, 0xB0, 0xCF, 0x03, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x0C,
0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00,
0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00,
0x93, 0xEC, 0xDE, 0x29, 0x70, 0xDF, 0xAA, 0xFD, 0x2E, 0x33, 0x00, 0x00, 0xF9, 0x0A, 0x00, 0x00,
0x30, 0xCF, 0x00, 0x00, 0x00, 0xF5, 0x0A, 0x00, 0x00, 0xD1, 0x3F, 0x00, 0x00, 0xD5, 0x6F, 0x00,
0x00, 0xFB, 0x3C, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0x40, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00,
// Unicode: [0x0046, ]
0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0xF1, 0xAE, 0xAA, 0xAA, 0xAA, 0x02, 0xF1, 0x0D, 0x00, 0x00,
0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xAF,
0xAA, 0xAA, 0x2A, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00,
0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D,
0x00, 0x00, 0x00, 0x00,
0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0xEF, 0xAA, 0xAA, 0xAA, 0x2A, 0xF1, 0x0D, 0x00, 0x00, 0x00,
0x10, 0xDF, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xAA, 0xAA, 0xAA,
0x02, 0xF1, 0xFF, 0xFF, 0xFF, 0x3F, 0x10, 0xDF, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
0x00, 0x10, 0xDF, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x10, 0xDF, 0x00, 0x00,
0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x10, 0xDF, 0x00, 0x00, 0x00, 0x00,
// Unicode: [0x0047, ]
0x00, 0x10, 0xB7, 0xFE, 0xDE, 0x5A, 0x00, 0x00, 0xE6, 0xEF, 0xAB, 0xDB, 0xFF, 0x1E, 0x60, 0xEF,
0x05, 0x00, 0x00, 0x71, 0x1E, 0xE1, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF7, 0x09, 0x00, 0x00,
@ -27,26 +25,24 @@ KEEP extern const uint8_t unicodes_verdana_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH
0x00, 0x00, 0xD2, 0x1F, 0x00, 0xF7, 0xEF, 0xAB, 0xDB, 0xFF, 0x1D, 0x00, 0x20, 0xB7, 0xFE, 0xCE,
0x49, 0x00,
// Unicode: [0x0054, ]
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xAA, 0xAA, 0xEA, 0xBF, 0xAA, 0xAA, 0x03, 0x00, 0x00,
0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00,
0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xAA, 0xAA, 0xFE, 0xAB, 0xAA, 0x3A, 0x00, 0x00, 0xC0,
0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFC, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00, 0x00, 0x00,
0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00,
// Unicode: [0x0058, ]
0xD0, 0x5F, 0x00, 0x00, 0x00, 0xF6, 0x0A, 0x30, 0xEF, 0x02, 0x00, 0x30, 0xDF, 0x01, 0x00, 0xF7,
0x0B, 0x00, 0xC0, 0x4F, 0x00, 0x00, 0xB0, 0x6F, 0x00, 0xF8, 0x08, 0x00, 0x00, 0x20, 0xEE, 0x42,
0xCF, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xDC, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x05, 0x00,
0x00, 0x00, 0x00, 0x90, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xEA, 0x3F, 0x00, 0x00, 0x00,
0x20, 0xDE, 0x41, 0xCF, 0x00, 0x00, 0x00, 0xC0, 0x4F, 0x00, 0xF9, 0x08, 0x00, 0x00, 0xF8, 0x08,
0x00, 0xD1, 0x4F, 0x00, 0x40, 0xCF, 0x00, 0x00, 0x40, 0xDF, 0x01, 0xD1, 0x2F, 0x00, 0x00, 0x00,
0xF8, 0x0A,
0xD0, 0x5F, 0x00, 0x00, 0x00, 0xF6, 0x0A, 0xF3, 0x2E, 0x00, 0x00, 0xF3, 0x1D, 0x00, 0xF7, 0x0B,
0x00, 0xC0, 0x4F, 0x00, 0x00, 0xFB, 0x06, 0x80, 0x8F, 0x00, 0x00, 0x20, 0xEE, 0x42, 0xCF, 0x00,
0x00, 0x00, 0x50, 0xCF, 0xED, 0x02, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00,
0xF9, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xEA, 0x3F, 0x00, 0x00, 0x00, 0xE2, 0x1D, 0xF4, 0x0C,
0x00, 0x00, 0xC0, 0x4F, 0x00, 0xF9, 0x08, 0x00, 0x80, 0x8F, 0x00, 0x10, 0xFD, 0x04, 0x40, 0xCF,
0x00, 0x00, 0x40, 0xDF, 0x11, 0xFD, 0x02, 0x00, 0x00, 0x80, 0xAF,
// Unicode: [0x0063, ]
0x00, 0xB4, 0xFE, 0xAD, 0x04, 0x70, 0xEF, 0x9A, 0xFB, 0x0D, 0xF4, 0x1D, 0x00, 0x20, 0x08, 0xFA,
0x05, 0x00, 0x00, 0x00, 0xFD, 0x01, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x01,
0x00, 0x00, 0x00, 0xFA, 0x05, 0x00, 0x00, 0x00, 0xF5, 0x1D, 0x00, 0x20, 0x08, 0x90, 0xEF, 0x9A,
0xFB, 0x0D, 0x00, 0xB5, 0xFE, 0x9D, 0x03,
0x00, 0xB4, 0xFE, 0xAD, 0x04, 0xF7, 0xAE, 0xB9, 0xDF, 0xF4, 0x1D, 0x00, 0x20, 0xA8, 0x5F, 0x00,
0x00, 0x00, 0xFD, 0x01, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0xFD, 0x01, 0x00, 0x00, 0xA0,
0x5F, 0x00, 0x00, 0x00, 0xF5, 0x1D, 0x00, 0x20, 0x08, 0xF9, 0xAE, 0xB9, 0xDF, 0x00, 0xB5, 0xFE,
0x9D, 0x03,
// Unicode: [0x0064, ]
0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00,
0x00, 0x00, 0x30, 0xAF, 0x00, 0xB4, 0xEE, 0x8B, 0xAF, 0x70, 0xFF, 0xAB, 0xFC, 0xAF, 0xF3, 0x2D,
@ -65,22 +61,20 @@ KEEP extern const uint8_t unicodes_verdana_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH
0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00,
0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE,
// Unicode: [0x006C, ]
0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A,
0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A,
0xF3, 0x3A, 0xAF, 0xF3, 0x3A, 0xAF, 0xF3, 0x3A, 0xAF, 0xF3, 0x3A, 0xAF, 0xF3, 0x3A, 0xAF, 0xF3,
0x3A, 0xAF, 0xF3, 0x3A, 0xAF, 0xF3, 0x0A,
// Unicode: [0x006D, ]
0xF3, 0x2A, 0xEA, 0xBE, 0x03, 0xA3, 0xFE, 0x4C, 0x00, 0xF3, 0xFD, 0xBE, 0xFD, 0x8E, 0xEF, 0xCB,
0xFF, 0x02, 0xF3, 0x7F, 0x00, 0x90, 0xFF, 0x18, 0x00, 0xF9, 0x07, 0xF3, 0x0A, 0x00, 0x40, 0xAF,
0x00, 0x00, 0xF3, 0x0A, 0xF3, 0x0A, 0x00, 0x30, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00,
0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3,
0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2,
0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00,
0x00, 0xF2, 0x0B,
0xF3, 0x2A, 0xEA, 0xBE, 0x03, 0xA3, 0xFE, 0x4C, 0x30, 0xDF, 0xEF, 0xDB, 0xEF, 0xF8, 0xBE, 0xFC,
0x2F, 0xF3, 0x7F, 0x00, 0x90, 0xFF, 0x18, 0x00, 0xF9, 0x37, 0xAF, 0x00, 0x00, 0xF4, 0x0A, 0x00,
0x30, 0xAF, 0xF3, 0x0A, 0x00, 0x30, 0xAF, 0x00, 0x00, 0xF2, 0x3B, 0xAF, 0x00, 0x00, 0xF2, 0x0A,
0x00, 0x20, 0xBF, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x3B, 0xAF, 0x00, 0x00, 0xF2,
0x0A, 0x00, 0x20, 0xBF, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x3B, 0xAF, 0x00, 0x00,
0xF2, 0x0A, 0x00, 0x20, 0xBF, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B,
// Unicode: [0x006F, ]
0x00, 0xC5, 0xEE, 0x6C, 0x00, 0x00, 0x90, 0xEF, 0xAA, 0xFD, 0x0A, 0x00, 0xF4, 0x1C, 0x00, 0xB1,
0x6F, 0x00, 0xFA, 0x04, 0x00, 0x20, 0xCF, 0x00, 0xFD, 0x00, 0x00, 0x00, 0xFD, 0x00, 0xEE, 0x00,
0x00, 0x00, 0xFC, 0x01, 0xFD, 0x01, 0x00, 0x00, 0xFE, 0x00, 0xFA, 0x04, 0x00, 0x20, 0xCF, 0x00,
0xF4, 0x1C, 0x00, 0xB1, 0x6F, 0x00, 0x90, 0xEF, 0x9A, 0xFD, 0x0B, 0x00, 0x00, 0xC5, 0xFE, 0x7C,
0x00, 0x00,
0x00, 0xC5, 0xEE, 0x6C, 0x00, 0x00, 0xF9, 0xAE, 0xDA, 0xAF, 0x00, 0xF4, 0x1C, 0x00, 0xB1, 0x6F,
0xA0, 0x4F, 0x00, 0x00, 0xF2, 0x0C, 0xFD, 0x00, 0x00, 0x00, 0xFD, 0xE0, 0x0E, 0x00, 0x00, 0xC0,
0x1F, 0xFD, 0x01, 0x00, 0x00, 0xFE, 0xA0, 0x4F, 0x00, 0x00, 0xF2, 0x0C, 0xF4, 0x1C, 0x00, 0xB1,
0x6F, 0x00, 0xF9, 0xAE, 0xD9, 0xBF, 0x00, 0x00, 0xC5, 0xFE, 0x7C, 0x00, 0x00,
// Unicode: [0x0072, ]
0xF3, 0x1A, 0xE9, 0x8F, 0xF3, 0xED, 0xCF, 0x9C, 0xF3, 0x9F, 0x01, 0x00, 0xF3, 0x0A, 0x00, 0x00,
0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00,

View File

@ -6,24 +6,23 @@ KEEP extern const uint8_t unicodes_verdana_40_4bpp_0[] FONT_GLYPH_LOCATION_FLASH
// Unicode: [0x0020, ]
// (Has no glyph data)
// Unicode: [0x003F, ]
0x00, 0x10, 0x53, 0x77, 0x57, 0x02, 0x00, 0x00, 0x00, 0x83, 0xFC, 0xFF, 0xFF, 0xFF, 0xDF, 0x17,
0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x02, 0x00, 0xFD, 0xFF, 0xFF, 0xEF, 0xFF,
0xFF, 0xFF, 0x2E, 0x00, 0xFD, 0x9E, 0x15, 0x00, 0x41, 0xFA, 0xFF, 0xBF, 0x00, 0x6B, 0x00, 0x00,
0x00, 0x00, 0x60, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFB, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC1, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFC, 0xFF, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0xD3, 0xFF, 0xDF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0x2C, 0x00, 0x00,
0x00, 0x00, 0x60, 0xFE, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xDF, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0,
0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x53, 0x77, 0x57, 0x02, 0x00, 0x00, 0x30, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x01,
0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x02, 0xD0, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF,
0xEF, 0x02, 0xFD, 0x9E, 0x15, 0x00, 0x41, 0xFA, 0xFF, 0xBF, 0xB0, 0x06, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x70, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x09, 0x00, 0x00, 0x00,
0x00, 0x00, 0x70, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF3, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFF, 0x7F, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC1, 0xFF, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xFF, 0xDF, 0x02, 0x00,
0x00, 0x00, 0x10, 0xF8, 0xFF, 0xCF, 0x02, 0x00, 0x00, 0x00, 0x60, 0xFE, 0xFF, 0x9F, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFD, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x0B, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0x09,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x44, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF,
0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
0x44, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF1, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00,
// Unicode: [0x0064, ]
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x50, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x5F, 0x00, 0x00,
@ -62,63 +61,60 @@ KEEP extern const uint8_t unicodes_verdana_40_4bpp_0[] FONT_GLYPH_LOCATION_FLASH
0xFF, 0x7F, 0x00, 0x00, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x30, 0xE9,
0xFF, 0xFF, 0xFF, 0xFF, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x76, 0x67, 0x03, 0x00, 0x00,
// Unicode: [0x0068, ]
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x30, 0x76, 0x46, 0x01, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x71, 0xFD, 0xFF,
0xFF, 0x8F, 0x01, 0x00, 0xF6, 0xFF, 0x54, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x00, 0xF6, 0xFF,
0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x00, 0xF6, 0xFF, 0xFF, 0xDF, 0x37, 0x22, 0xC6, 0xFF,
0xFF, 0x02, 0xF6, 0xFF, 0xDF, 0x05, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xF6, 0xFF, 0x1A, 0x00,
0x00, 0x00, 0x00, 0xF5, 0xFF, 0x0A, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0C,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00,
0x00, 0xD0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF,
0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0,
0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00,
0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00,
0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF,
0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0,
0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D, 0xF6, 0xFF, 0x04, 0x00,
0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x4F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00,
0x30, 0x76, 0x46, 0x01, 0x00, 0x60, 0xFF, 0x4F, 0x10, 0xD7, 0xFF, 0xFF, 0xFF, 0x18, 0x00, 0xF6,
0xFF, 0x54, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x60, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x09, 0xF6, 0xFF, 0xFF, 0xDF, 0x37, 0x22, 0xC6, 0xFF, 0xFF, 0x62, 0xFF, 0xFF, 0x5D, 0x00,
0x00, 0x00, 0xC0, 0xFF, 0x7F, 0xF6, 0xFF, 0x1A, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xFF, 0x6A, 0xFF,
0x4F, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xCF, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xE0,
0xFF, 0x6D, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xDF, 0xF6, 0xFF, 0x04, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xFF, 0x6D, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xDF, 0xF6, 0xFF,
0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x6D, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
0xDF, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x6D, 0xFF, 0x4F, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xDF, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x6D, 0xFF, 0x4F,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xDF, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF,
0x6D, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xDF, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00,
0x00, 0xC0, 0xFF, 0x6D, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xDF, 0xF6, 0xFF, 0x04,
0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0D,
// Unicode: [0x006C, ]
0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5,
0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF,
0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05,
0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5,
0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF,
0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05, 0xF5, 0xFF, 0x05,
0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5,
0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF,
0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55,
0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF,
0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x55, 0xFF, 0x5F, 0xF5, 0xFF, 0x05,
// Unicode: [0x006F, ]
0x00, 0x00, 0x00, 0x30, 0x75, 0x67, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xFD, 0xFF,
0xFF, 0xEF, 0x19, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x05, 0x00,
0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xCE, 0xDC, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x4C,
0x00, 0x00, 0xA3, 0xFF, 0xEF, 0x02, 0x00, 0x70, 0xFF, 0xBF, 0x01, 0x00, 0x00, 0x00, 0xF8, 0xFF,
0x0B, 0x00, 0xE0, 0xFF, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x3F, 0x00, 0xF4, 0xFF, 0x09,
0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x9F, 0x00, 0xF8, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFE, 0xCF, 0x00, 0xFB, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x00, 0xFC, 0xEF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x01, 0xFD, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF9, 0xFF, 0x02, 0xFD, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xFF, 0x03, 0xFC,
0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x01, 0xFB, 0xFF, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xFF, 0x00, 0xF8, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xCF, 0x00,
0xF5, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF, 0x9F, 0x00, 0xE0, 0xFF, 0x2F, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xFF, 0x3F, 0x00, 0x70, 0xFF, 0xCF, 0x01, 0x00, 0x00, 0x00, 0xF9, 0xFF, 0x0B,
0x00, 0x00, 0xFC, 0xFF, 0x5D, 0x00, 0x00, 0xB3, 0xFF, 0xEF, 0x02, 0x00, 0x00, 0xE3, 0xFF, 0xFF,
0xCE, 0xDC, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x20, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x05,
0x00, 0x00, 0x00, 0x00, 0x70, 0xFD, 0xFF, 0xFF, 0xEF, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30, 0x75, 0x67, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x30, 0x75, 0x67, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFF, 0xFF,
0xFF, 0x9E, 0x01, 0x00, 0x00, 0x00, 0x20, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x05, 0x00, 0x00,
0x20, 0xFE, 0xFF, 0xEF, 0xCC, 0xFD, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0xFC, 0xFF, 0x4C, 0x00, 0x00,
0xA3, 0xFF, 0xEF, 0x02, 0x00, 0xF7, 0xFF, 0x1B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xBF, 0x00, 0xE0,
0xFF, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x3F, 0x40, 0xFF, 0x9F, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF5, 0xFF, 0x09, 0xF8, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCF, 0xB0, 0xFF,
0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xFC, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFA, 0xFF, 0xD1, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x2F, 0xFD, 0xDF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xFF, 0xC3, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00,
0xA0, 0xFF, 0x1F, 0xFB, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x80, 0xFF, 0x4F,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x0C, 0xF5, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x50,
0xFF, 0x9F, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x03, 0x70, 0xFF, 0xCF,
0x01, 0x00, 0x00, 0x00, 0xF9, 0xFF, 0x0B, 0x00, 0xC0, 0xFF, 0xDF, 0x05, 0x00, 0x30, 0xFB, 0xFF,
0x2E, 0x00, 0x00, 0xE3, 0xFF, 0xFF, 0xCE, 0xDC, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0xD2, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x70, 0xFD, 0xFF, 0xFF, 0xEF, 0x19, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x77, 0x46, 0x00, 0x00, 0x00, 0x00,
// Unicode: [0x0072, ]
0xF6, 0xFF, 0x04, 0x00, 0xA6, 0xFD, 0xDF, 0x03, 0xF6, 0xFF, 0x04, 0xD5, 0xFF, 0xFF, 0xFF, 0x04,
0xF6, 0xFF, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0xF6, 0xFF, 0xFE, 0xFF, 0xDF, 0xBB, 0xFD, 0x04,
0xF6, 0xFF, 0xFF, 0x7E, 0x01, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x8F, 0x01, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF6, 0xFF, 0x04, 0x00, 0xA6, 0xFD, 0xDF, 0x63, 0xFF, 0x4F, 0x50, 0xFD, 0xFF, 0xFF, 0x4F, 0xF6,
0xFF, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0x64, 0xFF, 0xEF, 0xFF, 0xFF, 0xBD, 0xDB, 0x4F, 0xF6, 0xFF,
0xFF, 0x7E, 0x01, 0x00, 0x00, 0x60, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x06,
0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00,
0x00, 0x00, 0x00, 0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00,
0x00, 0x00, 0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00,
0x00, 0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00,
0x60, 0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x60,
0xFF, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF,
0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0x4F,
0x00, 0x00, 0x00, 0x00, 0x00,
// Unicode: [0x0077, ]
0xF3, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x30, 0xFF, 0x2F, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xEF, 0xE0,
0xFF, 0x0D, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xAF, 0xA0, 0xFF,

View File

@ -20,6 +20,6 @@ touchgfx::GeneratedFont& getFont_verdana_10_4bpp();
touchgfx::GeneratedFont& getFont_verdana_10_4bpp()
{
static touchgfx::GeneratedFont verdana_10_4bpp(glyphs_verdana_10_4bpp, 1, 10, 0, 4, 1, 0, 0, unicodes_verdana_10_4bpp, kerning_verdana_10_4bpp, 63, 0, 0);
static touchgfx::GeneratedFont verdana_10_4bpp(glyphs_verdana_10_4bpp, 1, 10, 0, 4, 0, 0, 0, unicodes_verdana_10_4bpp, kerning_verdana_10_4bpp, 63, 0, 0);
return verdana_10_4bpp;
}

View File

@ -7,21 +7,21 @@ KEEP extern const touchgfx::GlyphNode glyphs_verdana_20_4bpp[] FONT_TABLE_LOCATI
{
{ 0, 0x0020, 0, 0, 0, 0, 7, 0, 0, 0x00 },
{ 0, 0x003F, 9, 14, 14, 1, 11, 0, 0, 0x00 },
{ 70, 0x0046, 11, 14, 14, 1, 12, 0, 0, 0x00 },
{ 154, 0x0047, 14, 14, 14, 1, 16, 0, 0, 0x00 },
{ 252, 0x0054, 13, 14, 14, 0, 12, 0, 2, 0x00 },
{ 350, 0x0058, 13, 14, 14, 0, 14, 0, 0, 0x00 },
{ 448, 0x0063, 9, 11, 11, 1, 10, 2, 1, 0x00 },
{ 503, 0x0064, 10, 15, 15, 1, 12, 0, 0, 0x00 },
{ 578, 0x0065, 10, 11, 11, 1, 12, 3, 1, 0x00 },
{ 633, 0x0068, 10, 15, 15, 1, 13, 0, 0, 0x00 },
{ 708, 0x006C, 3, 15, 15, 1, 5, 0, 0, 0x00 },
{ 738, 0x006D, 17, 11, 11, 1, 19, 0, 0, 0x00 },
{ 837, 0x006F, 11, 11, 11, 1, 12, 4, 1, 0x00 },
{ 903, 0x0072, 8, 11, 11, 1, 9, 5, 1, 0x00 },
{ 947, 0x0074, 8, 14, 14, 0, 8, 0, 0, 0x00 },
{ 1003, 0x0075, 10, 11, 11, 1, 13, 6, 1, 0x00 },
{ 1058, 0x0077, 16, 11, 11, 0, 16, 7, 1, 0x00 }
{ 63, 0x0046, 11, 14, 14, 1, 12, 0, 0, 0x00 },
{ 140, 0x0047, 14, 14, 14, 1, 16, 0, 0, 0x00 },
{ 238, 0x0054, 13, 14, 14, 0, 12, 0, 2, 0x00 },
{ 329, 0x0058, 13, 14, 14, 0, 14, 0, 0, 0x00 },
{ 420, 0x0063, 9, 11, 11, 1, 10, 2, 1, 0x00 },
{ 470, 0x0064, 10, 15, 15, 1, 12, 0, 0, 0x00 },
{ 545, 0x0065, 10, 11, 11, 1, 12, 3, 1, 0x00 },
{ 600, 0x0068, 10, 15, 15, 1, 13, 0, 0, 0x00 },
{ 675, 0x006C, 3, 15, 15, 1, 5, 0, 0, 0x00 },
{ 698, 0x006D, 17, 11, 11, 1, 19, 0, 0, 0x00 },
{ 792, 0x006F, 11, 11, 11, 1, 12, 4, 1, 0x00 },
{ 853, 0x0072, 8, 11, 11, 1, 9, 5, 1, 0x00 },
{ 897, 0x0074, 8, 14, 14, 0, 8, 0, 0, 0x00 },
{ 953, 0x0075, 10, 11, 11, 1, 13, 6, 1, 0x00 },
{ 1008, 0x0077, 16, 11, 11, 0, 16, 7, 1, 0x00 }
};
// verdana_20_4bpp
@ -36,6 +36,6 @@ touchgfx::GeneratedFont& getFont_verdana_20_4bpp();
touchgfx::GeneratedFont& getFont_verdana_20_4bpp()
{
static touchgfx::GeneratedFont verdana_20_4bpp(glyphs_verdana_20_4bpp, 17, 20, 0, 4, 1, 0, 1, unicodes_verdana_20_4bpp, kerning_verdana_20_4bpp, 63, 0, 0);
static touchgfx::GeneratedFont verdana_20_4bpp(glyphs_verdana_20_4bpp, 17, 20, 0, 4, 0, 0, 1, unicodes_verdana_20_4bpp, kerning_verdana_20_4bpp, 63, 0, 0);
return verdana_20_4bpp;
}

View File

@ -7,13 +7,13 @@ KEEP extern const touchgfx::GlyphNode glyphs_verdana_40_4bpp[] FONT_TABLE_LOCATI
{
{ 0, 0x0020, 0, 0, 0, 0, 14, 0, 0, 0x00 },
{ 0, 0x003F, 17, 31, 31, 3, 22, 0, 0, 0x00 },
{ 279, 0x0064, 20, 32, 31, 2, 25, 0, 0, 0x00 },
{ 599, 0x0065, 20, 24, 23, 2, 24, 0, 0, 0x00 },
{ 839, 0x0068, 19, 31, 31, 3, 25, 0, 0, 0x00 },
{ 1149, 0x006C, 5, 31, 31, 3, 11, 0, 0, 0x00 },
{ 1242, 0x006F, 21, 24, 23, 2, 24, 0, 0, 0x00 },
{ 1506, 0x0072, 15, 22, 22, 3, 17, 0, 0, 0x00 },
{ 1682, 0x0077, 30, 22, 22, 1, 33, 0, 0, 0x00 }
{ 264, 0x0064, 20, 32, 31, 2, 25, 0, 0, 0x00 },
{ 584, 0x0065, 20, 24, 23, 2, 24, 0, 0, 0x00 },
{ 824, 0x0068, 19, 31, 31, 3, 25, 0, 0, 0x00 },
{ 1119, 0x006C, 5, 31, 31, 3, 11, 0, 0, 0x00 },
{ 1197, 0x006F, 21, 24, 23, 2, 24, 0, 0, 0x00 },
{ 1449, 0x0072, 15, 22, 22, 3, 17, 0, 0, 0x00 },
{ 1614, 0x0077, 30, 22, 22, 1, 33, 0, 0, 0x00 }
};
// verdana_40_4bpp
@ -28,6 +28,6 @@ touchgfx::GeneratedFont& getFont_verdana_40_4bpp();
touchgfx::GeneratedFont& getFont_verdana_40_4bpp()
{
static touchgfx::GeneratedFont verdana_40_4bpp(glyphs_verdana_40_4bpp, 9, 40, 1, 4, 1, 0, 1, unicodes_verdana_40_4bpp, kerning_verdana_40_4bpp, 63, 0, 0);
static touchgfx::GeneratedFont verdana_40_4bpp(glyphs_verdana_40_4bpp, 9, 40, 1, 4, 0, 0, 1, unicodes_verdana_40_4bpp, kerning_verdana_40_4bpp, 63, 0, 0);
return verdana_40_4bpp;
}

View File

@ -1 +1 @@
{"remap":"yes","language":"Gb","language_index":0,"indices":[["30","T_SingleUseId1"],["0","T_SingleUseId2"]]}
{"remap":null,"language":"Gb","language_index":0,"texts":[["T_SingleUseId1",[104,101,108,108,111,32,119,111,114,108,100]],["T_SingleUseId2",[119,101,108,99,111,109,101,32,116,111,32,116,104,101,32,84,111,117,99,104,71,70,88,32,119,111,114,108,100]]]}

View File

@ -1 +1 @@
{"remap":"yes","languages":["Gb"],"characters":[119,101,108,99,111,109,101,32,116,111,32,116,104,101,32,84,111,117,99,104,71,70,88,32,119,111,114,108,100,0,104,101,108,108,111,32,119,111,114,108,100,0]}
{"remap":null,"languages":["Gb"]}

View File

@ -1 +1 @@
{"remap"=>"yes", "a4"=>"yes", "binary_translations"=>"no", "binary_fonts"=>"no", "framebuffer_bpp"=>"16"}
[]

View File

@ -5,10 +5,18 @@
#include <touchgfx/Unicode.hpp>
extern const uint32_t indicesGb[];
extern const touchgfx::Unicode::UnicodeChar textsGb[];
TEXT_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::Unicode::UnicodeChar textsGb[] TEXT_LOCATION_FLASH_ATTRIBUTE =
{
104,101,108,108,111,32,119,111,114,108,100,0, // T_SingleUseId1
119,101,108,99,111,109,101,32,116,111,32,116,104,101,32,84,111,117,99,104,71,70,88,32,119,111,114,108,100,0 // T_SingleUseId2
};
TEXT_LOCATION_FLASH_PRAGMA
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE =
{
30, // T_SingleUseId1
0 // T_SingleUseId2
0, // T_SingleUseId1
12 // T_SingleUseId2
};

View File

@ -17,13 +17,8 @@ touchgfx::TextProvider::UnicodeConverterFunctionPointer touchgfx::TextProvider::
//Default typed text database
extern const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[];
TEXT_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCATION_FLASH_ATTRIBUTE =
{
0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x47, 0x46, 0x58, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0, // @0 "welcome to the TouchGFX world"
0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0 // @30 "hello world"
};
extern uint32_t const indicesGb[];
extern const touchgfx::Unicode::UnicodeChar textsGb[];
//array holding dynamically installed languages
struct TranslationHeader
@ -39,6 +34,9 @@ static const uint32_t* const staticLanguageIndices[] =
{
indicesGb
};
static const touchgfx::Unicode::UnicodeChar* const staticLanguageTexts[] = {
textsGb
};
touchgfx::LanguageId touchgfx::Texts::currentLanguage = static_cast<touchgfx::LanguageId>(0);
static const touchgfx::Unicode::UnicodeChar* currentLanguagePtr = 0;
@ -60,7 +58,7 @@ void touchgfx::Texts::setLanguage(touchgfx::LanguageId id)
else
{
//compiled and linked in languages
currentLanguagePtr = texts_all_languages;
currentLanguagePtr = staticLanguageTexts[id];
currentLanguageIndices = staticLanguageIndices[id];
currentLanguageTypedText = typedTextDatabaseArray[id];
}

View File

@ -191,8 +191,8 @@ int main(void)
MX_DMA2D_Init();
MX_FMC_Init();
MX_LTDC_Init();
MX_QUADSPI_Init();
MX_USART1_UART_Init();
MX_QUADSPI_Init();
MX_TouchGFX_Init();
/* USER CODE BEGIN 2 */
@ -466,8 +466,6 @@ static void MX_QUADSPI_Init(void)
/* USER CODE BEGIN QUADSPI_Init 2 */
W25QXX_Init();
/* USER CODE END QUADSPI_Init 2 */
}

View File

@ -1,20 +1,24 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1022
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Application", "Application.vcxproj", "{3C47683C-0505-487F-A1FD-75B8490BF72C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Debug|Win32.ActiveCfg = Debug|Win32
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Debug|Win32.Build.0 = Debug|Win32
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Release|Win32.ActiveCfg = Release|Win32
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Debug|x86.ActiveCfg = Debug|Win32
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Debug|x86.Build.0 = Debug|Win32
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Release|x86.ActiveCfg = Release|Win32
{3C47683C-0505-487F-A1FD-75B8490BF72C}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8E39C885-0F29-4944-9817-83C7F0E24FC5}
EndGlobalSection
EndGlobal

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="12.0">
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="15.0">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@ -11,210 +11,212 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\driver\touch\SDL2TouchController.cpp"/>
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\hal\simulator\sdl2\HALSDL2.cpp"/>
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\hal\simulator\sdl2\HALSDL2_icon.cpp"/>
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\hal\simulator\sdl2\OSWrappers.cpp"/>
<ClCompile Include="$(ApplicationRoot)\simulator\main.cpp"/>
<ClCompile Include="$(ApplicationRoot)\generated\simulator\src\mainBase.cpp"/>
<ClCompile Include="..\..\gui\src\common\FrontendApplication.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\common\FrontendApplicationBase.cpp"/>
<ClCompile Include="..\..\gui\src\model\Model.cpp"/>
<ClCompile Include="..\..\gui\src\screen_screen\screenPresenter.cpp"/>
<ClCompile Include="..\..\gui\src\screen_screen\screenView.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\screen_screen\screenViewBase.cpp"/>
<ClCompile Include="..\..\gui\src\screen1_screen\Screen1Presenter.cpp"/>
<ClCompile Include="..\..\gui\src\screen1_screen\Screen1View.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\screen1_screen\Screen1ViewBase.cpp"/>
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\driver\touch\SDL2TouchController.cpp" />
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\hal\simulator\sdl2\HALSDL2.cpp" />
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\hal\simulator\sdl2\HALSDL2_icon.cpp" />
<ClCompile Include="$(TouchGFXReleasePath)\framework\source\platform\hal\simulator\sdl2\OSWrappers.cpp" />
<ClCompile Include="$(ApplicationRoot)\simulator\main.cpp" />
<ClCompile Include="$(ApplicationRoot)\generated\simulator\src\mainBase.cpp" />
<ClCompile Include="..\..\gui\src\common\FrontendApplication.cpp" />
<ClCompile Include="..\..\generated\gui_generated\src\common\FrontendApplicationBase.cpp" />
<ClCompile Include="..\..\gui\src\model\Model.cpp" />
<ClCompile Include="..\..\gui\src\screen_screen\screenPresenter.cpp" />
<ClCompile Include="..\..\gui\src\screen_screen\screenView.cpp" />
<ClCompile Include="..\..\generated\gui_generated\src\screen_screen\screenViewBase.cpp" />
<ClCompile Include="..\..\gui\src\screen1_screen\Screen1Presenter.cpp" />
<ClCompile Include="..\..\gui\src\screen1_screen\Screen1View.cpp" />
<ClCompile Include="..\..\generated\gui_generated\src\screen1_screen\Screen1ViewBase.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="$(ApplicationRoot)\assets\texts\texts.xlsx"/>
<None Include="$(ApplicationRoot)\config\msvs\Application.props"/>
<None Include="$(ApplicationRoot)\assets\texts\texts.xlsx" />
<None Include="$(ApplicationRoot)\config\msvs\Application.props" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\AbstractPartition.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\Meta.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\Partition.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\TouchGFXInit.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\MVPApplication.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\MVPHeap.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\Presenter.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\View.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD16bpp.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD1bpp.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD24bpp.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD2bpp.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD4bpp.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\touch\SDL2TouchController.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\hal\simulator\sdl2\HALSDL2.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Application.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Bitmap.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Callback.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\CanvasWidgetRenderer.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Cell.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Outline.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Rasterizer.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Renderer.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\RenderingBuffer.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\RGBA8.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Scanline.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Color.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\ConstFont.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\clock\AbstractClock.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\clock\AnalogClock.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\clock\DigitalClock.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\Container.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ListLayout.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ModalWindow.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\AbstractDirectionProgress.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\AbstractProgressIndicator.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\BoxProgress.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\CircleProgress.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\ImageProgress.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\LineProgress.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\TextProgress.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ScrollableContainer.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\SlideMenu.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\Slider.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ZoomAnimationImage.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Drawable.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\EasingEquations.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Event.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\events\ClickEvent.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\events\DragEvent.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\events\GestureEvent.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Font.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\FontManager.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Atomic.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\BlitOp.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\BoardConfiguration.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Buttons.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Config.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\DMA.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Gestures.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\GPIO.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\HAL.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\LED.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\NoDMA.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\OSWrappers.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Types.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\InternalFlashFont.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\JSMOCHelper.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\lcd\LCD.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Math3D.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\ClickListener.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\Draggable.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\FadeAnimator.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\MoveAnimator.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\PreRenderable.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\Snapper.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Screen.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\TextProvider.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Texts.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\TextureMapTypes.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transforms\DisplayTransformation.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transforms\TouchCalibration.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transitions\NoTransition.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transitions\SlideTransition.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transitions\Transition.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\TypedText.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\UIEventListener.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Unicode.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Utils.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\AbstractButton.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\AnimatedImage.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\AnimationTextureMapper.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Box.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Button.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ButtonWithIcon.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ButtonWithLabel.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainter.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterBW.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterGRAY2.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterGRAY4.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterRGB565.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterRGB888.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractShape.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Canvas.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\CanvasWidget.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Circle.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\CWRUtil.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Line.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterBW.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY2.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY2Bitmap.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY4.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY4Bitmap.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB565.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB565Bitmap.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB888.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB888Bitmap.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Shape.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Image.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Keyboard.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\PixelDataWidget.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\RadioButton.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\RadioButtonGroup.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\RepeatButton.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ScalableImage.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\SnapshotWidget.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TextArea.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TextAreaWithWildcard.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TextureMapper.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TiledImage.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ToggleButton.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TouchArea.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Widget.hpp"/>
<ClInclude Include="$(ApplicationRoot)\generated\simulator\include\simulator\mainBase.hpp"/>
<ClInclude Include="..\..\gui\include\gui\common\FrontendApplication.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\FrontendApplicationBase.hpp"/>
<ClInclude Include="..\..\gui\include\gui\common\FrontendHeap.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\FrontendHeapBase.hpp"/>
<ClInclude Include="..\..\gui\include\gui\model\Model.hpp"/>
<ClInclude Include="..\..\gui\include\gui\model\ModelListener.hpp"/>
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenPresenter.hpp"/>
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenView.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\screen_screen\screenViewBase.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\SimConstants.hpp"/>
<ClInclude Include="..\..\gui\include\gui\screen1_screen\Screen1Presenter.hpp"/>
<ClInclude Include="..\..\gui\include\gui\screen1_screen\Screen1View.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\screen1_screen\Screen1ViewBase.hpp"/>
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\AbstractPartition.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\Meta.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\Partition.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\TouchGFXInit.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\MVPApplication.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\MVPHeap.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\Presenter.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\mvp\View.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD16bpp.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD1bpp.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD24bpp.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD2bpp.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\lcd\LCD4bpp.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\driver\touch\SDL2TouchController.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\platform\hal\simulator\sdl2\HALSDL2.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Application.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Bitmap.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Callback.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\CanvasWidgetRenderer.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Cell.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Outline.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Rasterizer.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Renderer.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\RenderingBuffer.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\RGBA8.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\canvas_widget_renderer\Scanline.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Color.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\ConstFont.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\clock\AbstractClock.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\clock\AnalogClock.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\clock\DigitalClock.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\Container.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ListLayout.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ModalWindow.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\AbstractDirectionProgress.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\AbstractProgressIndicator.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\BoxProgress.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\CircleProgress.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\ImageProgress.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\LineProgress.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\progress_indicators\TextProgress.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ScrollableContainer.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\SlideMenu.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\Slider.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\containers\ZoomAnimationImage.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Drawable.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\EasingEquations.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Event.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\events\ClickEvent.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\events\DragEvent.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\events\GestureEvent.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Font.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\FontManager.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Atomic.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\BlitOp.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\BoardConfiguration.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Buttons.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Config.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\DMA.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Gestures.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\GPIO.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\HAL.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\LED.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\NoDMA.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\OSWrappers.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\hal\Types.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\InternalFlashFont.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\JSMOCHelper.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\lcd\LCD.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Math3D.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\ClickListener.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\Draggable.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\FadeAnimator.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\MoveAnimator.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\PreRenderable.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\mixins\Snapper.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Screen.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\TextProvider.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Texts.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\TextureMapTypes.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transforms\DisplayTransformation.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transforms\TouchCalibration.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transitions\NoTransition.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transitions\SlideTransition.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\transitions\Transition.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\TypedText.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\UIEventListener.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Unicode.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\Utils.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\AbstractButton.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\AnimatedImage.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\AnimationTextureMapper.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Box.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Button.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ButtonWithIcon.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ButtonWithLabel.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainter.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterBW.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterGRAY2.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterGRAY4.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterRGB565.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractPainterRGB888.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\AbstractShape.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Canvas.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\CanvasWidget.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Circle.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\CWRUtil.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Line.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterBW.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY2.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY2Bitmap.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY4.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterGRAY4Bitmap.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB565.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB565Bitmap.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB888.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\PainterRGB888Bitmap.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\canvas\Shape.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Image.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Keyboard.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\PixelDataWidget.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\RadioButton.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\RadioButtonGroup.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\RepeatButton.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ScalableImage.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\SnapshotWidget.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TextArea.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TextAreaWithWildcard.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TextureMapper.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TiledImage.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\ToggleButton.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\TouchArea.hpp" />
<ClInclude Include="$(TouchGFXReleasePath)\framework\include\touchgfx\widgets\Widget.hpp" />
<ClInclude Include="$(ApplicationRoot)\generated\simulator\include\simulator\mainBase.hpp" />
<ClInclude Include="..\..\gui\include\gui\common\FrontendApplication.hpp" />
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\FrontendApplicationBase.hpp" />
<ClInclude Include="..\..\gui\include\gui\common\FrontendHeap.hpp" />
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\FrontendHeapBase.hpp" />
<ClInclude Include="..\..\gui\include\gui\model\Model.hpp" />
<ClInclude Include="..\..\gui\include\gui\model\ModelListener.hpp" />
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenPresenter.hpp" />
<ClInclude Include="..\..\gui\include\gui\screen_screen\screenView.hpp" />
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\screen_screen\screenViewBase.hpp" />
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\common\SimConstants.hpp" />
<ClInclude Include="..\..\gui\include\gui\screen1_screen\Screen1Presenter.hpp" />
<ClInclude Include="..\..\gui\include\gui\screen1_screen\Screen1View.hpp" />
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\screen1_screen\Screen1ViewBase.hpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3C47683C-0505-487F-A1FD-75B8490BF72C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Application</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform"/>
<Import Project="..\..\config\msvs\Application.props"/>
<Import Project="..\..\generated\simulator\msvs\touchgfx_sdl2.props"/>
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\config\msvs\Application.props" />
<Import Project="..\..\generated\simulator\msvs\touchgfx_sdl2.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform"/>
<Import Project="..\..\config\msvs\Application.props"/>
<Import Project="..\..\generated\simulator\msvs\touchgfx_sdl2.props"/>
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\config\msvs\Application.props" />
<Import Project="..\..\generated\simulator\msvs\touchgfx_sdl2.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(ApplicationRoot)\build\$(Configuration)\bin\</OutDir>
@ -241,7 +243,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
<DisableSpecificWarnings/>
<DisableSpecificWarnings />
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
@ -264,8 +266,8 @@
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(ApplicationRoot)\generated\simulator\msvs\touchgfx_prebuild.targets"/>
<Import Project="$(ApplicationRoot)\generated\simulator\msvs\touchgfx_prebuild.targets" />
</ImportGroup>
</Project>
</Project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

Binary file not shown.

View File

@ -0,0 +1,399 @@
#
# Automatically generated file; DO NOT EDIT.
# RT-Thread Configuration
#
#
# RT-Thread Kernel
#
CONFIG_RT_NAME_MAX=8
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
# CONFIG_RT_USING_SMP is not set
CONFIG_RT_ALIGN_SIZE=4
# CONFIG_RT_THREAD_PRIORITY_8 is not set
CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=1000
CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_USING_HOOK=y
CONFIG_RT_USING_IDLE_HOOK=y
CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
CONFIG_IDLE_THREAD_STACK_SIZE=1024
# CONFIG_RT_USING_TIMER_SOFT is not set
CONFIG_RT_DEBUG=y
CONFIG_RT_DEBUG_COLOR=y
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
# CONFIG_RT_DEBUG_THREAD_CONFIG is not set
# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set
# CONFIG_RT_DEBUG_IPC_CONFIG is not set
# CONFIG_RT_DEBUG_TIMER_CONFIG is not set
# CONFIG_RT_DEBUG_IRQ_CONFIG is not set
# CONFIG_RT_DEBUG_MEM_CONFIG is not set
# CONFIG_RT_DEBUG_SLAB_CONFIG is not set
# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set
# CONFIG_RT_DEBUG_MODULE_CONFIG is not set
#
# Inter-Thread communication
#
CONFIG_RT_USING_SEMAPHORE=y
CONFIG_RT_USING_MUTEX=y
CONFIG_RT_USING_EVENT=y
CONFIG_RT_USING_MAILBOX=y
CONFIG_RT_USING_MESSAGEQUEUE=y
# CONFIG_RT_USING_SIGNALS is not set
#
# Memory Management
#
CONFIG_RT_USING_MEMPOOL=y
CONFIG_RT_USING_MEMHEAP=y
# CONFIG_RT_USING_NOHEAP is not set
# CONFIG_RT_USING_SMALL_MEM is not set
# CONFIG_RT_USING_SLAB is not set
CONFIG_RT_USING_MEMHEAP_AS_HEAP=y
CONFIG_RT_USING_HEAP=y
#
# Kernel Device Object
#
CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_DEVICE_OPS is not set
# CONFIG_RT_USING_INTERRUPT_INFO is not set
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=128
CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
CONFIG_RT_VER_NUM=0x40002
CONFIG_ARCH_ARM=y
CONFIG_RT_USING_CPU_FFS=y
CONFIG_ARCH_ARM_CORTEX_M=y
CONFIG_ARCH_ARM_CORTEX_M7=y
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
#
# RT-Thread Components
#
CONFIG_RT_USING_COMPONENTS_INIT=y
CONFIG_RT_USING_USER_MAIN=y
CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
CONFIG_RT_MAIN_THREAD_PRIORITY=10
#
# C++ features
#
# CONFIG_RT_USING_CPLUSPLUS is not set
#
# Command shell
#
CONFIG_RT_USING_FINSH=y
CONFIG_FINSH_THREAD_NAME="tshell"
CONFIG_FINSH_USING_HISTORY=y
CONFIG_FINSH_HISTORY_LINES=5
CONFIG_FINSH_USING_SYMTAB=y
CONFIG_FINSH_USING_DESCRIPTION=y
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
CONFIG_FINSH_THREAD_PRIORITY=20
CONFIG_FINSH_THREAD_STACK_SIZE=4096
CONFIG_FINSH_CMD_SIZE=80
# CONFIG_FINSH_USING_AUTH is not set
CONFIG_FINSH_USING_MSH=y
CONFIG_FINSH_USING_MSH_DEFAULT=y
CONFIG_FINSH_USING_MSH_ONLY=y
CONFIG_FINSH_ARG_MAX=10
#
# Device virtual file system
#
# CONFIG_RT_USING_DFS is not set
#
# Device Drivers
#
CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_PIPE_BUFSZ=512
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
CONFIG_RT_USING_SERIAL=y
# CONFIG_RT_SERIAL_USING_DMA is not set
CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_CAN is not set
# CONFIG_RT_USING_HWTIMER is not set
# CONFIG_RT_USING_CPUTIME is not set
# CONFIG_RT_USING_I2C is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_PWM is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_MTD is not set
# CONFIG_RT_USING_PM is not set
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_WDT is not set
# CONFIG_RT_USING_AUDIO is not set
# CONFIG_RT_USING_SENSOR is not set
#
# Using Hardware Crypto drivers
#
# CONFIG_RT_USING_HWCRYPTO is not set
#
# Using WiFi
#
# CONFIG_RT_USING_WIFI is not set
#
# Using USB
#
# CONFIG_RT_USING_USB_HOST is not set
# CONFIG_RT_USING_USB_DEVICE is not set
#
# POSIX layer and C standard library
#
# CONFIG_RT_USING_LIBC is not set
# CONFIG_RT_USING_PTHREADS is not set
#
# Network
#
#
# Socket abstraction layer
#
# CONFIG_RT_USING_SAL is not set
#
# Network interface device
#
# CONFIG_RT_USING_NETDEV is not set
#
# light weight TCP/IP stack
#
# CONFIG_RT_USING_LWIP is not set
#
# Modbus master and slave stack
#
# CONFIG_RT_USING_MODBUS is not set
#
# AT commands
#
# CONFIG_RT_USING_AT is not set
#
# VBUS(Virtual Software BUS)
#
# CONFIG_RT_USING_VBUS is not set
#
# Utilities
#
# CONFIG_RT_USING_RYM is not set
# CONFIG_RT_USING_ULOG is not set
# CONFIG_RT_USING_UTEST is not set
# CONFIG_RT_USING_LWP is not set
#
# RT-Thread online packages
#
#
# IoT - internet of things
#
# CONFIG_PKG_USING_PAHOMQTT is not set
# CONFIG_PKG_USING_WEBCLIENT is not set
# CONFIG_PKG_USING_WEBNET is not set
# CONFIG_PKG_USING_MONGOOSE is not set
# CONFIG_PKG_USING_WEBTERMINAL is not set
# CONFIG_PKG_USING_CJSON is not set
# CONFIG_PKG_USING_JSMN is not set
# CONFIG_PKG_USING_LIBMODBUS is not set
# CONFIG_PKG_USING_LJSON is not set
# CONFIG_PKG_USING_EZXML is not set
# CONFIG_PKG_USING_NANOPB is not set
#
# Wi-Fi
#
#
# Marvell WiFi
#
# CONFIG_PKG_USING_WLANMARVELL is not set
#
# Wiced WiFi
#
# CONFIG_PKG_USING_WLAN_WICED is not set
# CONFIG_PKG_USING_RW007 is not set
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
# CONFIG_PKG_USING_AT_DEVICE is not set
# CONFIG_PKG_USING_ATSRV_SOCKET is not set
# CONFIG_PKG_USING_WIZNET is not set
#
# IoT Cloud
#
# CONFIG_PKG_USING_ONENET is not set
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
# CONFIG_PKG_USING_ALI_IOTKIT is not set
# CONFIG_PKG_USING_AZURE is not set
# CONFIG_PKG_USING_TENCENT_IOTKIT is not set
# CONFIG_PKG_USING_NIMBLE is not set
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
# CONFIG_PKG_USING_IPMSG is not set
# CONFIG_PKG_USING_LSSDP is not set
# CONFIG_PKG_USING_AIRKISS_OPEN is not set
#
# security packages
#
# CONFIG_PKG_USING_MBEDTLS is not set
# CONFIG_PKG_USING_libsodium is not set
# CONFIG_PKG_USING_TINYCRYPT is not set
#
# language packages
#
# CONFIG_PKG_USING_LUA is not set
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
#
# multimedia packages
#
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
#
# tools packages
#
# CONFIG_PKG_USING_CMBACKTRACE is not set
# CONFIG_PKG_USING_EASYFLASH is not set
# CONFIG_PKG_USING_EASYLOGGER is not set
# CONFIG_PKG_USING_SYSTEMVIEW is not set
# CONFIG_PKG_USING_RDB is not set
# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
# CONFIG_PKG_USING_ADBD is not set
#
# system packages
#
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_PERSIMMON is not set
# CONFIG_PKG_USING_CAIRO is not set
# CONFIG_PKG_USING_PIXMAN is not set
# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_PARTITION is not set
# CONFIG_PKG_USING_FAL is not set
# CONFIG_PKG_USING_SQLITE is not set
# CONFIG_PKG_USING_RTI is not set
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
# CONFIG_PKG_USING_CMSIS is not set
# CONFIG_PKG_USING_DFS_YAFFS is not set
# CONFIG_PKG_USING_LITTLEFS is not set
# CONFIG_PKG_USING_THREAD_POOL is not set
#
# peripheral libraries and drivers
#
# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_SHT2X is not set
# CONFIG_PKG_USING_AP3216C is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
# CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_U8G2 is not set
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
# CONFIG_PKG_USING_SX12XX is not set
# CONFIG_PKG_USING_SIGNAL_LED is not set
# CONFIG_PKG_USING_LEDBLINK is not set
# CONFIG_PKG_USING_WM_LIBRARIES is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
# CONFIG_PKG_USING_INFRARED is not set
# CONFIG_PKG_USING_ROSSERIAL is not set
# CONFIG_PKG_USING_AT24CXX is not set
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
# CONFIG_PKG_USING_AD7746 is not set
# CONFIG_PKG_USING_PCA9685 is not set
# CONFIG_PKG_USING_I2C_TOOLS is not set
#
# miscellaneous packages
#
# CONFIG_PKG_USING_LIBCSV is not set
# CONFIG_PKG_USING_OPTPARSE is not set
# CONFIG_PKG_USING_FASTLZ is not set
# CONFIG_PKG_USING_MINILZO is not set
# CONFIG_PKG_USING_QUICKLZ is not set
# CONFIG_PKG_USING_MULTIBUTTON is not set
# CONFIG_PKG_USING_CANFESTIVAL is not set
# CONFIG_PKG_USING_ZLIB is not set
# CONFIG_PKG_USING_DSTR is not set
# CONFIG_PKG_USING_TINYFRAME is not set
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
# CONFIG_PKG_USING_DIGITALCTRL is not set
#
# samples: kernel and components samples
#
# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
# CONFIG_PKG_USING_HELLO is not set
# CONFIG_PKG_USING_VI is not set
# CONFIG_PKG_USING_NNOM is not set
CONFIG_SOC_FAMILY_STM32=y
CONFIG_SOC_SERIES_STM32F7=y
#
# Hardware Drivers Config
#
CONFIG_SOC_STM32F767IG=y
#
# Onboard Peripheral Drivers
#
CONFIG_BSP_USING_USB_TO_USART=y
# CONFIG_BSP_USING_RS232 is not set
# CONFIG_BSP_USING_SDRAM is not set
# CONFIG_BSP_USING_QSPI_FLASH is not set
# CONFIG_BSP_USING_LCD is not set
# CONFIG_BSP_USING_MPU6050 is not set
# CONFIG_BSP_USING_POT is not set
# CONFIG_BSP_USING_SDCARD is not set
#
# On-chip Peripheral Drivers
#
CONFIG_BSP_USING_GPIO=y
CONFIG_BSP_USING_UART=y
CONFIG_BSP_USING_UART1=y
# CONFIG_BSP_USING_UART2 is not set
# CONFIG_BSP_USING_UART3 is not set
# CONFIG_BSP_USING_ON_CHIP_FLASH is not set
# CONFIG_BSP_USING_SPI is not set
# CONFIG_BSP_USING_QSPI is not set
# CONFIG_BSP_USING_ADC is not set
# CONFIG_BSP_USING_I2C1 is not set
# CONFIG_BSP_USING_ONCHIP_RTC is not set
# CONFIG_BSP_USING_WDT is not set
# CONFIG_BSP_USING_SDIO is not set
# CONFIG_BSP_USING_FMC is not set
# CONFIG_BSP_USING_LTDC is not set
#
# Board extended module Drivers
#

View File

@ -0,0 +1,42 @@
*.pyc
*.map
*.dblite
*.elf
*.bin
*.hex
*.axf
*.exe
*.pdb
*.idb
*.ilk
*.old
build
Debug
documentation/html
packages/
*~
*.o
*.obj
*.out
*.bak
*.dep
*.lib
*.i
*.d
.DS_Stor*
.config 3
.config 4
.config 5
Midea-X1
*.uimg
GPATH
GRTAGS
GTAGS
.vscode
JLinkLog.txt
JLinkSettings.ini
DebugConfig/
RTE/
settings/
*.uvguix*
cconfig.h

View File

@ -0,0 +1,21 @@
mainmenu "RT-Thread Configuration"
config BSP_DIR
string
option env="BSP_ROOT"
default "."
config RTT_DIR
string
option env="RTT_ROOT"
default "rt-thread"
config PKGS_DIR
string
option env="PKGS_ROOT"
default "packages"
source "$RTT_DIR/Kconfig"
source "$PKGS_DIR/Kconfig"
source "libraries/Kconfig"
source "board/Kconfig"

View File

@ -0,0 +1,131 @@
# STM32F767 挑战者开发板 BSP 说明
## 简介
本文档为 野火stm32f767 开发板的 BSP (板级支持包) 说明。
主要内容如下:
- 开发板资源介绍
- BSP 快速上手
- 进阶使用方法
通过阅读快速上手章节开发者可以快速地上手该 BSP将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
## 开发板介绍
挑战者 STM32F767 是野火推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 216Mhz该开发板具有丰富的板载资源可以充分发挥 STM32F767 的芯片性能。
开发板外观如下图所示:
![board](figures/board.jpg)
该开发板常用 **板载资源** 如下:
- MCUSTM32f767主频 216MHz1MB FLASH 512KB RAM 16K CACHE
- 外部 RAM型号8MB
- 外部 FLASH型号16MB
- 常用外设
- LEDRGB灯
- 按键2个K1兼具唤醒功能PA0K2PC13
- 常用接口USB 转串口、SD 卡接口、以太网接口、LCD 接口
- 调试接口,标准 JTAG/SWD
开发板更多详细信息请参考野火 [STM32 挑战者开发板介绍](https://fire-stm32.taobao.com/index.htm)。
## 外设支持
本 BSP 目前对外设的支持情况如下:
| **板载外设** | **支持情况** | **备注** |
| :---------------- | :----------: | :------------------------------------------------------ |
| USB 转串口 | 支持 | |
| RS232 | 支持 | 与以太网有引脚冲突 |
| QSPI Flash | 支持 | |
| 电位器 | 支持 | 使用 ADC1 |
| 以太网 | 暂不支持 | 移植中 |
| MPU6050六轴传感器 | 支持 | |
| SDRAM | 支持 | |
| LCD | 支持 | 支持 RGB 屏 |
| SD卡 | 支持 | |
| CAN | 即将支持 | |
| EMW1062 | 暂不支持 | |
| **片上外设** | **支持情况** | **备注** |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
| UART | 支持 | UART1/x/x |
| SPI | 支持 | SPI1/x/x |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 | 支持外部晶振和内部低速时钟 |
| WDT | 支持 | |
| FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) |
| SDIO | 支持 | |
| PWM | 暂不支持 | 即将支持 |
| USB Device | 暂不支持 | 即将支持 |
| USB Host | 暂不支持 | 即将支持 |
| **扩展模块** | **支持情况** | **备注** |
| 暂无 | 暂不支持 | 暂不支持 |
## 使用说明
使用说明分为如下两个章节:
- 快速上手
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
- 进阶使用
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
### 快速上手
本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
#### 硬件连接
使用数据线连接开发板到 PC打开电源开关。
#### 编译下载
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
> 工程默认配置使用 Jlink 仿真器下载程序,在通过 Jlink 连接开发板的基础上,点击下载按钮即可下载程序到开发板
#### 运行结果
下载程序成功之后系统会自动运行LED 闪烁。
连接开发板对应串口到 PC , 在终端工具里打开相应的串口115200-8-1-N复位设备后可以看到 RT-Thread 的输出信息:
```bash
\ | /
- RT - Thread Operating System
/ | \ 4.0.0 build Dec 10 2018
2006 - 2018 Copyright by rt-thread team
msh >
```
### 进阶使用
此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
1. 在 bsp 下打开 env 工具。
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
3. 输入`pkgs --update`命令更新软件包。
4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
## 注意事项
暂无
## 联系人信息
维护人:
- [greedyhao](https://github.com/greedyhao), 邮箱:<hao_kr@163.com>

View File

@ -0,0 +1,64 @@
import os
import sys
import rtconfig
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
else:
RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
# set RTT_ROOT
if not os.getenv("RTT_ROOT"):
RTT_ROOT="rt-thread"
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
DefaultEnvironment(tools=[])
env = Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
AR = rtconfig.AR, ARFLAGS = '-rc',
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
if rtconfig.PLATFORM == 'iar':
env.Replace(CCCOM = ['$CC $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
env.Replace(ARFLAGS = [''])
env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
Export('RTT_ROOT')
Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
if os.path.exists(SDK_ROOT + '/libraries'):
libraries_path_prefix = SDK_ROOT + '/libraries'
else:
libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
stm32_library = 'STM32F7xx_HAL'
rtconfig.BSP_LIBRARY_TYPE = stm32_library
# include libraries
objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript')))
# include drivers
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
# make a building
DoBuilding(TARGET, objs)

View File

@ -0,0 +1,12 @@
import rtconfig
from building import *
cwd = GetCurrentDir()
CPPPATH = [cwd, str(Dir('#'))]
src = Split("""
main.c
""")
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,22 +1,18 @@
/*
* Copyright (c) 2006-2019, RT-Thread Development Team
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2019-09-09 RT-Thread first version
* 2018-11-06 SummerGift first version
*/
#include <rtthread.h>
#include <board.h>
#include <rtdevice.h>
#include <board.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
/* PLEASE DEFINE the LED0 pin for your board, such as: PA5 */
/* defined the LED0 pin: PH10 */
#define LED0_PIN GET_PIN(H, 10)
int main(void)
@ -27,9 +23,10 @@ int main(void)
while (count++)
{
/* set LED0 pin level to high or low */
rt_pin_write(LED0_PIN, count % 2);
rt_thread_mdelay(1000);
rt_pin_write(LED0_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED0_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
return RT_EOK;

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,516 @@
#MicroXplorer Configuration settings - do not modify
ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_5
ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag
ADC1.NbrOfConversionFlag=1
ADC1.Rank-0\#ChannelRegularConversion=1
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES
ADC1.master=1
ETH.IPParameters=MediaInterface
ETH.MediaInterface=ETH_MEDIA_INTERFACE_RMII
File.Version=6
KeepUserPlacement=false
Mcu.Family=STM32F7
Mcu.IP0=ADC1
Mcu.IP1=CORTEX_M7
Mcu.IP10=SYS
Mcu.IP11=USART1
Mcu.IP2=DMA2D
Mcu.IP3=ETH
Mcu.IP4=FMC
Mcu.IP5=LTDC
Mcu.IP6=NVIC
Mcu.IP7=QUADSPI
Mcu.IP8=RCC
Mcu.IP9=SDMMC1
Mcu.IPNb=12
Mcu.Name=STM32F767I(G-I)Tx
Mcu.Package=LQFP176
Mcu.Pin0=PE4
Mcu.Pin1=PE5
Mcu.Pin10=PF5
Mcu.Pin11=PF6
Mcu.Pin12=PF7
Mcu.Pin13=PF8
Mcu.Pin14=PF9
Mcu.Pin15=PF10
Mcu.Pin16=PH0/OSC_IN
Mcu.Pin17=PH1/OSC_OUT
Mcu.Pin18=PC0
Mcu.Pin19=PC1
Mcu.Pin2=PE6
Mcu.Pin20=PA1
Mcu.Pin21=PA2
Mcu.Pin22=PH2
Mcu.Pin23=PH3
Mcu.Pin24=PA3
Mcu.Pin25=PA5
Mcu.Pin26=PA7
Mcu.Pin27=PC4
Mcu.Pin28=PC5
Mcu.Pin29=PB0
Mcu.Pin3=PI9
Mcu.Pin30=PB1
Mcu.Pin31=PB2
Mcu.Pin32=PF11
Mcu.Pin33=PF12
Mcu.Pin34=PF13
Mcu.Pin35=PF14
Mcu.Pin36=PF15
Mcu.Pin37=PG0
Mcu.Pin38=PG1
Mcu.Pin39=PE7
Mcu.Pin4=PI10
Mcu.Pin40=PE8
Mcu.Pin41=PE9
Mcu.Pin42=PE10
Mcu.Pin43=PE11
Mcu.Pin44=PE12
Mcu.Pin45=PE13
Mcu.Pin46=PE14
Mcu.Pin47=PE15
Mcu.Pin48=PB11
Mcu.Pin49=PH6
Mcu.Pin5=PF0
Mcu.Pin50=PH7
Mcu.Pin51=PH8
Mcu.Pin52=PH10
Mcu.Pin53=PB12
Mcu.Pin54=PB13
Mcu.Pin55=PD8
Mcu.Pin56=PD9
Mcu.Pin57=PD10
Mcu.Pin58=PD14
Mcu.Pin59=PD15
Mcu.Pin6=PF1
Mcu.Pin60=PG4
Mcu.Pin61=PG5
Mcu.Pin62=PG6
Mcu.Pin63=PG7
Mcu.Pin64=PG8
Mcu.Pin65=PC7
Mcu.Pin66=PC8
Mcu.Pin67=PC9
Mcu.Pin68=PA9
Mcu.Pin69=PA10
Mcu.Pin7=PF2
Mcu.Pin70=PA11
Mcu.Pin71=PA12
Mcu.Pin72=PH13
Mcu.Pin73=PH15
Mcu.Pin74=PI0
Mcu.Pin75=PI2
Mcu.Pin76=PC10
Mcu.Pin77=PC11
Mcu.Pin78=PC12
Mcu.Pin79=PD0
Mcu.Pin8=PF3
Mcu.Pin80=PD1
Mcu.Pin81=PD2
Mcu.Pin82=PD6
Mcu.Pin83=PG10
Mcu.Pin84=PG11
Mcu.Pin85=PG12
Mcu.Pin86=PG15
Mcu.Pin87=PB6
Mcu.Pin88=PB8
Mcu.Pin89=PB9
Mcu.Pin9=PF4
Mcu.Pin90=PE0
Mcu.Pin91=PE1
Mcu.Pin92=PI4
Mcu.Pin93=VP_DMA2D_VS_DMA2D
Mcu.Pin94=VP_SYS_VS_Systick
Mcu.PinsNb=95
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F767IGTx
MxCube.Version=5.1.0
MxDb.Version=DB.5.0.10
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
PA1.Mode=RMII
PA1.Signal=ETH_REF_CLK
PA10.Locked=true
PA10.Mode=Asynchronous
PA10.Signal=USART1_RX
PA11.GPIOParameters=GPIO_Speed
PA11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA11.Locked=true
PA11.Mode=RGB888
PA11.Signal=LTDC_R4
PA12.GPIOParameters=GPIO_Speed
PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA12.Locked=true
PA12.Mode=RGB888
PA12.Signal=LTDC_R5
PA2.Mode=RMII
PA2.Signal=ETH_MDIO
PA3.GPIOParameters=GPIO_Speed
PA3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA3.Mode=RGB888
PA3.Signal=LTDC_B5
PA5.Signal=ADCx_IN5
PA7.Mode=RMII
PA7.Signal=ETH_CRS_DV
PA9.Locked=true
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
PB0.GPIOParameters=GPIO_Speed
PB0.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB0.Mode=RGB888
PB0.Signal=LTDC_R3
PB1.GPIOParameters=GPIO_Speed
PB1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB1.Mode=RGB888
PB1.Signal=LTDC_R6
PB11.Mode=RMII
PB11.Signal=ETH_TX_EN
PB12.Mode=RMII
PB12.Signal=ETH_TXD0
PB13.Mode=RMII
PB13.Signal=ETH_TXD1
PB2.Mode=Single Bank 1
PB2.Signal=QUADSPI_CLK
PB6.Locked=true
PB6.Mode=Single Bank 1
PB6.Signal=QUADSPI_BK1_NCS
PB8.GPIOParameters=GPIO_Speed
PB8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB8.Mode=RGB888
PB8.Signal=LTDC_B6
PB9.GPIOParameters=GPIO_Speed
PB9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB9.Mode=RGB888
PB9.Signal=LTDC_B7
PC0.Signal=FMC_SDNWE
PC1.Mode=RMII
PC1.Signal=ETH_MDC
PC10.Mode=SD_4_bits_Wide_bus
PC10.Signal=SDMMC1_D2
PC11.Mode=SD_4_bits_Wide_bus
PC11.Signal=SDMMC1_D3
PC12.Mode=SD_4_bits_Wide_bus
PC12.Signal=SDMMC1_CK
PC4.Mode=RMII
PC4.Signal=ETH_RXD0
PC5.Mode=RMII
PC5.Signal=ETH_RXD1
PC7.GPIOParameters=GPIO_Speed
PC7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC7.Locked=true
PC7.Mode=RGB888
PC7.Signal=LTDC_G6
PC8.Mode=SD_4_bits_Wide_bus
PC8.Signal=SDMMC1_D0
PC9.Mode=SD_4_bits_Wide_bus
PC9.Signal=SDMMC1_D1
PCC.Checker=false
PCC.Line=STM32F7x7
PCC.MCU=STM32F767I(G-I)Tx
PCC.PartNumber=STM32F767IGTx
PCC.Seq0=0
PCC.Series=STM32F7
PCC.Temperature=25
PCC.Vdd=3.3
PD0.Signal=FMC_D2_DA2
PD1.Signal=FMC_D3_DA3
PD10.Signal=FMC_D15_DA15
PD14.Signal=FMC_D0_DA0
PD15.Signal=FMC_D1_DA1
PD2.Mode=SD_4_bits_Wide_bus
PD2.Signal=SDMMC1_CMD
PD6.GPIOParameters=GPIO_Speed
PD6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PD6.Mode=RGB888
PD6.Signal=LTDC_B2
PD8.Signal=FMC_D13_DA13
PD9.Signal=FMC_D14_DA14
PE0.Signal=FMC_NBL0
PE1.Signal=FMC_NBL1
PE10.Signal=FMC_D7_DA7
PE11.Signal=FMC_D8_DA8
PE12.Signal=FMC_D9_DA9
PE13.Signal=FMC_D10_DA10
PE14.Signal=FMC_D11_DA11
PE15.Signal=FMC_D12_DA12
PE4.GPIOParameters=GPIO_Speed
PE4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE4.Mode=RGB888
PE4.Signal=LTDC_B0
PE5.GPIOParameters=GPIO_Speed
PE5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE5.Mode=RGB888
PE5.Signal=LTDC_G0
PE6.GPIOParameters=GPIO_Speed
PE6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE6.Mode=RGB888
PE6.Signal=LTDC_G1
PE7.Signal=FMC_D4_DA4
PE8.Signal=FMC_D5_DA5
PE9.Signal=FMC_D6_DA6
PF0.Signal=FMC_A0
PF1.Signal=FMC_A1
PF10.GPIOParameters=GPIO_Speed
PF10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PF10.Mode=RGB888
PF10.Signal=LTDC_DE
PF11.Signal=FMC_SDNRAS
PF12.Signal=FMC_A6
PF13.Signal=FMC_A7
PF14.Signal=FMC_A8
PF15.Signal=FMC_A9
PF2.Signal=FMC_A2
PF3.Signal=FMC_A3
PF4.Signal=FMC_A4
PF5.Signal=FMC_A5
PF6.Mode=Single Bank 1
PF6.Signal=QUADSPI_BK1_IO3
PF7.Locked=true
PF7.Mode=Single Bank 1
PF7.Signal=QUADSPI_BK1_IO2
PF8.Mode=Single Bank 1
PF8.Signal=QUADSPI_BK1_IO0
PF9.Mode=Single Bank 1
PF9.Signal=QUADSPI_BK1_IO1
PG0.Signal=FMC_A10
PG1.Signal=FMC_A11
PG10.GPIOParameters=GPIO_Speed
PG10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PG10.Locked=true
PG10.Mode=RGB888
PG10.Signal=LTDC_G3
PG11.GPIOParameters=GPIO_Speed
PG11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PG11.Locked=true
PG11.Mode=RGB888
PG11.Signal=LTDC_B3
PG12.Mode=RGB888
PG12.Signal=LTDC_B1
PG15.Signal=FMC_SDNCAS
PG4.Signal=FMC_A14_BA0
PG5.Signal=FMC_A15_BA1
PG6.GPIOParameters=GPIO_Speed
PG6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PG6.Mode=RGB888
PG6.Signal=LTDC_R7
PG7.GPIOParameters=GPIO_Speed
PG7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PG7.Mode=RGB888
PG7.Signal=LTDC_CLK
PG8.Signal=FMC_SDCLK
PH0/OSC_IN.Mode=HSE-External-Oscillator
PH0/OSC_IN.Signal=RCC_OSC_IN
PH1/OSC_OUT.Mode=HSE-External-Oscillator
PH1/OSC_OUT.Signal=RCC_OSC_OUT
PH10.Locked=true
PH10.Signal=GPIO_Output
PH13.Locked=true
PH13.Mode=RGB888
PH13.Signal=LTDC_G2
PH15.Mode=RGB888
PH15.Signal=LTDC_G4
PH2.Mode=RGB888
PH2.Signal=LTDC_R0
PH3.Mode=RGB888
PH3.Signal=LTDC_R1
PH6.Mode=SdramChipSelect2_1
PH6.Signal=FMC_SDNE1
PH7.Mode=SdramChipSelect2_1
PH7.Signal=FMC_SDCKE1
PH8.Mode=RGB888
PH8.Signal=LTDC_R2
PI0.Locked=true
PI0.Mode=RGB888
PI0.Signal=LTDC_G5
PI10.Mode=RGB888
PI10.Signal=LTDC_HSYNC
PI2.Mode=RGB888
PI2.Signal=LTDC_G7
PI4.Mode=RGB888
PI4.Signal=LTDC_B4
PI9.Mode=RGB888
PI9.Signal=LTDC_VSYNC
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32F767IGTx
ProjectManager.FirmwarePackage=STM32Cube FW_F7 V1.15.0
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=0
ProjectManager.MainLocation=Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=CubeMX_Config.ioc
ProjectManager.ProjectName=CubeMX_Config
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_ETH_Init-ETH-false-HAL-true,6-MX_FMC_Init-FMC-false-HAL-true,7-MX_QUADSPI_Init-QUADSPI-false-HAL-true,8-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,9-MX_DMA2D_Init-DMA2D-false-HAL-true,10-MX_LTDC_Init-LTDC-false-HAL-true,11-MX_ADC1_Init-ADC1-false-HAL-true
RCC.AHBFreq_Value=216000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
RCC.APB1Freq_Value=54000000
RCC.APB1TimFreq_Value=108000000
RCC.APB2CLKDivider=RCC_HCLK_DIV2
RCC.APB2Freq_Value=108000000
RCC.APB2TimFreq_Value=216000000
RCC.CECFreq_Value=32786.88524590164
RCC.CortexFreq_Value=216000000
RCC.DFSDMAudioFreq_Value=96000000
RCC.DFSDMFreq_Value=108000000
RCC.EthernetFreq_Value=216000000
RCC.FCLKCortexFreq_Value=216000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=216000000
RCC.HSE_VALUE=25000000
RCC.HSI_VALUE=16000000
RCC.I2C1Freq_Value=54000000
RCC.I2C2Freq_Value=54000000
RCC.I2C3Freq_Value=54000000
RCC.I2C4Freq_Value=54000000
RCC.I2SFreq_Value=96000000
RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CECFreq_Value,CortexFreq_Value,DFSDMAudioFreq_Value,DFSDMFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LCDTFTFreq_Value,LPTIM1Freq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLI2SPCLKFreq_Value,PLLI2SQCLKFreq_Value,PLLI2SRCLKFreq_Value,PLLI2SRoutputFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLQoutputFreq_Value,PLLRFreq_Value,PLLSAIPCLKFreq_Value,PLLSAIQCLKFreq_Value,PLLSAIR,PLLSAIRCLKFreq_Value,PLLSAIoutputFreq_Value,PLLSourceVirtual,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMC2Freq_Value,SDMMCClockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value
RCC.LCDTFTFreq_Value=32000000
RCC.LPTIM1Freq_Value=54000000
RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.MCO2PinFreq_Value=216000000
RCC.PLLCLKFreq_Value=216000000
RCC.PLLI2SPCLKFreq_Value=96000000
RCC.PLLI2SQCLKFreq_Value=96000000
RCC.PLLI2SRCLKFreq_Value=96000000
RCC.PLLI2SRoutputFreq_Value=96000000
RCC.PLLM=25
RCC.PLLN=432
RCC.PLLQ=9
RCC.PLLQCLKFreq_Value=48000000
RCC.PLLQoutputFreq_Value=48000000
RCC.PLLRFreq_Value=216000000
RCC.PLLSAIPCLKFreq_Value=96000000
RCC.PLLSAIQCLKFreq_Value=96000000
RCC.PLLSAIR=3
RCC.PLLSAIRCLKFreq_Value=64000000
RCC.PLLSAIoutputFreq_Value=96000000
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
RCC.RNGFreq_Value=48000000
RCC.SAI1Freq_Value=96000000
RCC.SAI2Freq_Value=96000000
RCC.SDMMC2Freq_Value=216000000
RCC.SDMMCClockSelection=RCC_SDMMC1CLKSOURCE_CLK48
RCC.SDMMCFreq_Value=48000000
RCC.SPDIFRXFreq_Value=96000000
RCC.SYSCLKFreq_VALUE=216000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.UART4Freq_Value=54000000
RCC.UART5Freq_Value=54000000
RCC.UART7Freq_Value=54000000
RCC.UART8Freq_Value=54000000
RCC.USART1Freq_Value=108000000
RCC.USART2Freq_Value=54000000
RCC.USART3Freq_Value=54000000
RCC.USART6Freq_Value=108000000
RCC.USBFreq_Value=48000000
RCC.VCOI2SOutputFreq_Value=192000000
RCC.VCOInputFreq_Value=1000000
RCC.VCOOutputFreq_Value=432000000
RCC.VCOSAIOutputFreq_Value=192000000
SH.ADCx_IN5.0=ADC1_IN5,IN5
SH.ADCx_IN5.ConfNb=1
SH.FMC_A0.0=FMC_A0,12b-sda1
SH.FMC_A0.ConfNb=1
SH.FMC_A1.0=FMC_A1,12b-sda1
SH.FMC_A1.ConfNb=1
SH.FMC_A10.0=FMC_A10,12b-sda1
SH.FMC_A10.ConfNb=1
SH.FMC_A11.0=FMC_A11,12b-sda1
SH.FMC_A11.ConfNb=1
SH.FMC_A14_BA0.0=FMC_BA0,FourSdramBanks1
SH.FMC_A14_BA0.ConfNb=1
SH.FMC_A15_BA1.0=FMC_BA1,FourSdramBanks1
SH.FMC_A15_BA1.ConfNb=1
SH.FMC_A2.0=FMC_A2,12b-sda1
SH.FMC_A2.ConfNb=1
SH.FMC_A3.0=FMC_A3,12b-sda1
SH.FMC_A3.ConfNb=1
SH.FMC_A4.0=FMC_A4,12b-sda1
SH.FMC_A4.ConfNb=1
SH.FMC_A5.0=FMC_A5,12b-sda1
SH.FMC_A5.ConfNb=1
SH.FMC_A6.0=FMC_A6,12b-sda1
SH.FMC_A6.ConfNb=1
SH.FMC_A7.0=FMC_A7,12b-sda1
SH.FMC_A7.ConfNb=1
SH.FMC_A8.0=FMC_A8,12b-sda1
SH.FMC_A8.ConfNb=1
SH.FMC_A9.0=FMC_A9,12b-sda1
SH.FMC_A9.ConfNb=1
SH.FMC_D0_DA0.0=FMC_D0,sd-16b-d1
SH.FMC_D0_DA0.ConfNb=1
SH.FMC_D10_DA10.0=FMC_D10,sd-16b-d1
SH.FMC_D10_DA10.ConfNb=1
SH.FMC_D11_DA11.0=FMC_D11,sd-16b-d1
SH.FMC_D11_DA11.ConfNb=1
SH.FMC_D12_DA12.0=FMC_D12,sd-16b-d1
SH.FMC_D12_DA12.ConfNb=1
SH.FMC_D13_DA13.0=FMC_D13,sd-16b-d1
SH.FMC_D13_DA13.ConfNb=1
SH.FMC_D14_DA14.0=FMC_D14,sd-16b-d1
SH.FMC_D14_DA14.ConfNb=1
SH.FMC_D15_DA15.0=FMC_D15,sd-16b-d1
SH.FMC_D15_DA15.ConfNb=1
SH.FMC_D1_DA1.0=FMC_D1,sd-16b-d1
SH.FMC_D1_DA1.ConfNb=1
SH.FMC_D2_DA2.0=FMC_D2,sd-16b-d1
SH.FMC_D2_DA2.ConfNb=1
SH.FMC_D3_DA3.0=FMC_D3,sd-16b-d1
SH.FMC_D3_DA3.ConfNb=1
SH.FMC_D4_DA4.0=FMC_D4,sd-16b-d1
SH.FMC_D4_DA4.ConfNb=1
SH.FMC_D5_DA5.0=FMC_D5,sd-16b-d1
SH.FMC_D5_DA5.ConfNb=1
SH.FMC_D6_DA6.0=FMC_D6,sd-16b-d1
SH.FMC_D6_DA6.ConfNb=1
SH.FMC_D7_DA7.0=FMC_D7,sd-16b-d1
SH.FMC_D7_DA7.ConfNb=1
SH.FMC_D8_DA8.0=FMC_D8,sd-16b-d1
SH.FMC_D8_DA8.ConfNb=1
SH.FMC_D9_DA9.0=FMC_D9,sd-16b-d1
SH.FMC_D9_DA9.ConfNb=1
SH.FMC_NBL0.0=FMC_NBL0,Sd2ByteEnable1
SH.FMC_NBL0.ConfNb=1
SH.FMC_NBL1.0=FMC_NBL1,Sd2ByteEnable1
SH.FMC_NBL1.ConfNb=1
SH.FMC_SDCLK.0=FMC_SDCLK,12b-sda1
SH.FMC_SDCLK.ConfNb=1
SH.FMC_SDNCAS.0=FMC_SDNCAS,12b-sda1
SH.FMC_SDNCAS.ConfNb=1
SH.FMC_SDNRAS.0=FMC_SDNRAS,12b-sda1
SH.FMC_SDNRAS.ConfNb=1
SH.FMC_SDNWE.0=FMC_SDNWE,12b-sda1
SH.FMC_SDNWE.ConfNb=1
USART1.IPParameters=VirtualMode-Asynchronous
USART1.VirtualMode-Asynchronous=VM_ASYNC
VP_DMA2D_VS_DMA2D.Mode=DMA2D_Activate
VP_DMA2D_VS_DMA2D.Signal=DMA2D_VS_DMA2D
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
board=custom

View File

@ -0,0 +1,91 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
** This notice applies to any and all portions of this file
* that are not between comment pairs USER CODE BEGIN and
* USER CODE END. Other portions of this file, whether
* inserted by the user or by software development tools
* are owned by their respective copyright owners.
*
* COPYRIGHT(c) 2018 STMicroelectronics
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f7xx_hal.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -0,0 +1,458 @@
/**
******************************************************************************
* @file stm32f7xx_hal_conf.h
* @brief HAL configuration file.
******************************************************************************
* @attention
*
* <h2><center>&copy; COPYRIGHT(c) 2019 STMicroelectronics</center></h2>
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F7xx_HAL_CONF_H
#define __STM32F7xx_HAL_CONF_H
#ifdef __cplusplus
extern "C" {
#endif
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* ########################## Module Selection ############################## */
/**
* @brief This is the list of modules to be used in the HAL driver
*/
#define HAL_MODULE_ENABLED
#define HAL_ADC_MODULE_ENABLED
/* #define HAL_CRYP_MODULE_ENABLED */
/* #define HAL_CAN_MODULE_ENABLED */
/* #define HAL_CEC_MODULE_ENABLED */
/* #define HAL_CRC_MODULE_ENABLED */
/* #define HAL_CRYP_MODULE_ENABLED */
/* #define HAL_DAC_MODULE_ENABLED */
/* #define HAL_DCMI_MODULE_ENABLED */
#define HAL_DMA2D_MODULE_ENABLED
#define HAL_ETH_MODULE_ENABLED
/* #define HAL_NAND_MODULE_ENABLED */
/* #define HAL_NOR_MODULE_ENABLED */
/* #define HAL_SRAM_MODULE_ENABLED */
#define HAL_SDRAM_MODULE_ENABLED
/* #define HAL_HASH_MODULE_ENABLED */
/* #define HAL_I2S_MODULE_ENABLED */
/* #define HAL_IWDG_MODULE_ENABLED */
/* #define HAL_LPTIM_MODULE_ENABLED */
#define HAL_LTDC_MODULE_ENABLED
#define HAL_QSPI_MODULE_ENABLED
/* #define HAL_RNG_MODULE_ENABLED */
/* #define HAL_RTC_MODULE_ENABLED */
/* #define HAL_SAI_MODULE_ENABLED */
#define HAL_SD_MODULE_ENABLED
/* #define HAL_MMC_MODULE_ENABLED */
/* #define HAL_SPDIFRX_MODULE_ENABLED */
/* #define HAL_SPI_MODULE_ENABLED */
/* #define HAL_TIM_MODULE_ENABLED */
#define HAL_UART_MODULE_ENABLED
/* #define HAL_USART_MODULE_ENABLED */
/* #define HAL_IRDA_MODULE_ENABLED */
/* #define HAL_SMARTCARD_MODULE_ENABLED */
/* #define HAL_WWDG_MODULE_ENABLED */
/* #define HAL_PCD_MODULE_ENABLED */
/* #define HAL_HCD_MODULE_ENABLED */
/* #define HAL_DFSDM_MODULE_ENABLED */
/* #define HAL_DSI_MODULE_ENABLED */
/* #define HAL_JPEG_MODULE_ENABLED */
/* #define HAL_MDIOS_MODULE_ENABLED */
/* #define HAL_SMBUS_MODULE_ENABLED */
/* #define HAL_EXTI_MODULE_ENABLED */
#define HAL_GPIO_MODULE_ENABLED
#define HAL_EXTI_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_I2C_MODULE_ENABLED
#define HAL_CORTEX_MODULE_ENABLED
/* ########################## HSE/HSI Values adaptation ##################### */
/**
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
* This value is used by the RCC HAL module to compute the system frequency
* (when HSE is used as system clock source, directly or through the PLL).
*/
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)25000000U) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
#if !defined (HSE_STARTUP_TIMEOUT)
#define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
#endif /* HSE_STARTUP_TIMEOUT */
/**
* @brief Internal High Speed oscillator (HSI) value.
* This value is used by the RCC HAL module to compute the system frequency
* (when HSI is used as system clock source, directly or through the PLL).
*/
#if !defined (HSI_VALUE)
#define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/
#endif /* HSI_VALUE */
/**
* @brief Internal Low Speed oscillator (LSI) value.
*/
#if !defined (LSI_VALUE)
#define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
The real value may vary depending on the variations
in voltage and temperature. */
/**
* @brief External Low Speed oscillator (LSE) value.
*/
#if !defined (LSE_VALUE)
#define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External Low Speed oscillator in Hz */
#endif /* LSE_VALUE */
#if !defined (LSE_STARTUP_TIMEOUT)
#define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */
#endif /* LSE_STARTUP_TIMEOUT */
/**
* @brief External clock source for I2S peripheral
* This value is used by the I2S HAL module to compute the I2S clock source
* frequency, this source is inserted directly through I2S_CKIN pad.
*/
#if !defined (EXTERNAL_CLOCK_VALUE)
#define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000U) /*!< Value of the Internal oscillator in Hz*/
#endif /* EXTERNAL_CLOCK_VALUE */
/* Tip: To avoid modifying this file each time you need to use different HSE,
=== you can define the HSE value in your toolchain compiler preprocessor. */
/* ########################### System Configuration ######################### */
/**
* @brief This is the HAL system configuration section
*/
#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
#define USE_RTOS 0U
#define PREFETCH_ENABLE 0U
#define ART_ACCLERATOR_ENABLE 0U /* To enable instruction cache and prefetch */
/* ########################## Assert Selection ############################## */
/**
* @brief Uncomment the line below to expanse the "assert_param" macro in the
* HAL drivers code
*/
/* #define USE_FULL_ASSERT 1U */
/* ################## Ethernet peripheral configuration ##################### */
/* Section 1 : Ethernet peripheral configuration */
/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
#define MAC_ADDR0 2U
#define MAC_ADDR1 0U
#define MAC_ADDR2 0U
#define MAC_ADDR3 0U
#define MAC_ADDR4 0U
#define MAC_ADDR5 0U
/* Definition of the Ethernet driver buffers size and count */
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
#define ETH_RXBUFNB ((uint32_t)4U) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
#define ETH_TXBUFNB ((uint32_t)4U) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
/* Section 2: PHY configuration section */
/* LAN8742A_PHY_ADDRESS Address*/
#define LAN8742A_PHY_ADDRESS 1
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
#define PHY_RESET_DELAY ((uint32_t)0x000000FFU)
/* PHY Configuration delay */
#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFFU)
#define PHY_READ_TO ((uint32_t)0x0000FFFFU)
#define PHY_WRITE_TO ((uint32_t)0x0000FFFFU)
/* Section 3: Common PHY Registers */
#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */
#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */
#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */
#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */
#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */
#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */
#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */
#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */
/* Section 4: Extended PHY Registers */
#define PHY_SR ((uint16_t)0x1FU) /*!< PHY status register Offset */
#define PHY_SPEED_STATUS ((uint16_t)0x0004U) /*!< PHY Speed mask */
#define PHY_DUPLEX_STATUS ((uint16_t)0x0010U) /*!< PHY Duplex mask */
#define PHY_ISFR ((uint16_t)0x001DU) /*!< PHY Interrupt Source Flag register Offset */
#define PHY_ISFR_INT4 ((uint16_t)0x000BU) /*!< PHY Link down inturrupt */
/* ################## SPI peripheral configuration ########################## */
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
* Activated: CRC code is present inside driver
* Deactivated: CRC code cleaned from driver
*/
#define USE_SPI_CRC 0U
/* Includes ------------------------------------------------------------------*/
/**
* @brief Include module's header file
*/
#ifdef HAL_RCC_MODULE_ENABLED
#include "stm32f7xx_hal_rcc.h"
#endif /* HAL_RCC_MODULE_ENABLED */
#ifdef HAL_EXTI_MODULE_ENABLED
#include "stm32f7xx_hal_exti.h"
#endif /* HAL_EXTI_MODULE_ENABLED */
#ifdef HAL_GPIO_MODULE_ENABLED
#include "stm32f7xx_hal_gpio.h"
#endif /* HAL_GPIO_MODULE_ENABLED */
#ifdef HAL_DMA_MODULE_ENABLED
#include "stm32f7xx_hal_dma.h"
#endif /* HAL_DMA_MODULE_ENABLED */
#ifdef HAL_CORTEX_MODULE_ENABLED
#include "stm32f7xx_hal_cortex.h"
#endif /* HAL_CORTEX_MODULE_ENABLED */
#ifdef HAL_ADC_MODULE_ENABLED
#include "stm32f7xx_hal_adc.h"
#endif /* HAL_ADC_MODULE_ENABLED */
#ifdef HAL_CAN_MODULE_ENABLED
#include "stm32f7xx_hal_can.h"
#endif /* HAL_CAN_MODULE_ENABLED */
#ifdef HAL_CEC_MODULE_ENABLED
#include "stm32f7xx_hal_cec.h"
#endif /* HAL_CEC_MODULE_ENABLED */
#ifdef HAL_CRC_MODULE_ENABLED
#include "stm32f7xx_hal_crc.h"
#endif /* HAL_CRC_MODULE_ENABLED */
#ifdef HAL_CRYP_MODULE_ENABLED
#include "stm32f7xx_hal_cryp.h"
#endif /* HAL_CRYP_MODULE_ENABLED */
#ifdef HAL_DMA2D_MODULE_ENABLED
#include "stm32f7xx_hal_dma2d.h"
#endif /* HAL_DMA2D_MODULE_ENABLED */
#ifdef HAL_DAC_MODULE_ENABLED
#include "stm32f7xx_hal_dac.h"
#endif /* HAL_DAC_MODULE_ENABLED */
#ifdef HAL_DCMI_MODULE_ENABLED
#include "stm32f7xx_hal_dcmi.h"
#endif /* HAL_DCMI_MODULE_ENABLED */
#ifdef HAL_ETH_MODULE_ENABLED
#include "stm32f7xx_hal_eth.h"
#endif /* HAL_ETH_MODULE_ENABLED */
#ifdef HAL_FLASH_MODULE_ENABLED
#include "stm32f7xx_hal_flash.h"
#endif /* HAL_FLASH_MODULE_ENABLED */
#ifdef HAL_SRAM_MODULE_ENABLED
#include "stm32f7xx_hal_sram.h"
#endif /* HAL_SRAM_MODULE_ENABLED */
#ifdef HAL_NOR_MODULE_ENABLED
#include "stm32f7xx_hal_nor.h"
#endif /* HAL_NOR_MODULE_ENABLED */
#ifdef HAL_NAND_MODULE_ENABLED
#include "stm32f7xx_hal_nand.h"
#endif /* HAL_NAND_MODULE_ENABLED */
#ifdef HAL_SDRAM_MODULE_ENABLED
#include "stm32f7xx_hal_sdram.h"
#endif /* HAL_SDRAM_MODULE_ENABLED */
#ifdef HAL_HASH_MODULE_ENABLED
#include "stm32f7xx_hal_hash.h"
#endif /* HAL_HASH_MODULE_ENABLED */
#ifdef HAL_I2C_MODULE_ENABLED
#include "stm32f7xx_hal_i2c.h"
#endif /* HAL_I2C_MODULE_ENABLED */
#ifdef HAL_I2S_MODULE_ENABLED
#include "stm32f7xx_hal_i2s.h"
#endif /* HAL_I2S_MODULE_ENABLED */
#ifdef HAL_IWDG_MODULE_ENABLED
#include "stm32f7xx_hal_iwdg.h"
#endif /* HAL_IWDG_MODULE_ENABLED */
#ifdef HAL_LPTIM_MODULE_ENABLED
#include "stm32f7xx_hal_lptim.h"
#endif /* HAL_LPTIM_MODULE_ENABLED */
#ifdef HAL_LTDC_MODULE_ENABLED
#include "stm32f7xx_hal_ltdc.h"
#endif /* HAL_LTDC_MODULE_ENABLED */
#ifdef HAL_PWR_MODULE_ENABLED
#include "stm32f7xx_hal_pwr.h"
#endif /* HAL_PWR_MODULE_ENABLED */
#ifdef HAL_QSPI_MODULE_ENABLED
#include "stm32f7xx_hal_qspi.h"
#endif /* HAL_QSPI_MODULE_ENABLED */
#ifdef HAL_RNG_MODULE_ENABLED
#include "stm32f7xx_hal_rng.h"
#endif /* HAL_RNG_MODULE_ENABLED */
#ifdef HAL_RTC_MODULE_ENABLED
#include "stm32f7xx_hal_rtc.h"
#endif /* HAL_RTC_MODULE_ENABLED */
#ifdef HAL_SAI_MODULE_ENABLED
#include "stm32f7xx_hal_sai.h"
#endif /* HAL_SAI_MODULE_ENABLED */
#ifdef HAL_SD_MODULE_ENABLED
#include "stm32f7xx_hal_sd.h"
#endif /* HAL_SD_MODULE_ENABLED */
#ifdef HAL_MMC_MODULE_ENABLED
#include "stm32f7xx_hal_mmc.h"
#endif /* HAL_MMC_MODULE_ENABLED */
#ifdef HAL_SPDIFRX_MODULE_ENABLED
#include "stm32f7xx_hal_spdifrx.h"
#endif /* HAL_SPDIFRX_MODULE_ENABLED */
#ifdef HAL_SPI_MODULE_ENABLED
#include "stm32f7xx_hal_spi.h"
#endif /* HAL_SPI_MODULE_ENABLED */
#ifdef HAL_TIM_MODULE_ENABLED
#include "stm32f7xx_hal_tim.h"
#endif /* HAL_TIM_MODULE_ENABLED */
#ifdef HAL_UART_MODULE_ENABLED
#include "stm32f7xx_hal_uart.h"
#endif /* HAL_UART_MODULE_ENABLED */
#ifdef HAL_USART_MODULE_ENABLED
#include "stm32f7xx_hal_usart.h"
#endif /* HAL_USART_MODULE_ENABLED */
#ifdef HAL_IRDA_MODULE_ENABLED
#include "stm32f7xx_hal_irda.h"
#endif /* HAL_IRDA_MODULE_ENABLED */
#ifdef HAL_SMARTCARD_MODULE_ENABLED
#include "stm32f7xx_hal_smartcard.h"
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
#ifdef HAL_WWDG_MODULE_ENABLED
#include "stm32f7xx_hal_wwdg.h"
#endif /* HAL_WWDG_MODULE_ENABLED */
#ifdef HAL_PCD_MODULE_ENABLED
#include "stm32f7xx_hal_pcd.h"
#endif /* HAL_PCD_MODULE_ENABLED */
#ifdef HAL_HCD_MODULE_ENABLED
#include "stm32f7xx_hal_hcd.h"
#endif /* HAL_HCD_MODULE_ENABLED */
#ifdef HAL_DFSDM_MODULE_ENABLED
#include "stm32f7xx_hal_dfsdm.h"
#endif /* HAL_DFSDM_MODULE_ENABLED */
#ifdef HAL_DSI_MODULE_ENABLED
#include "stm32f7xx_hal_dsi.h"
#endif /* HAL_DSI_MODULE_ENABLED */
#ifdef HAL_JPEG_MODULE_ENABLED
#include "stm32f7xx_hal_jpeg.h"
#endif /* HAL_JPEG_MODULE_ENABLED */
#ifdef HAL_MDIOS_MODULE_ENABLED
#include "stm32f7xx_hal_mdios.h"
#endif /* HAL_MDIOS_MODULE_ENABLED */
#ifdef HAL_SMBUS_MODULE_ENABLED
#include "stm32f7xx_hal_smbus.h"
#endif /* HAL_SMBUS_MODULE_ENABLED */
/* Exported macro ------------------------------------------------------------*/
#ifdef USE_FULL_ASSERT
/**
* @brief The assert_param macro is used for function's parameters check.
* @param expr: If expr is false, it calls assert_failed function
* which reports the name of the source file and the source
* line number of the call that failed.
* If expr is true, it returns no value.
* @retval None
*/
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
void assert_failed(uint8_t* file, uint32_t line);
#else
#define assert_param(expr) ((void)0U)
#endif /* USE_FULL_ASSERT */
#ifdef __cplusplus
}
#endif
#endif /* __STM32F7xx_HAL_CONF_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -0,0 +1,84 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32f7xx_it.h
* @brief This file contains the headers of the interrupt handlers.
******************************************************************************
*
* COPYRIGHT(c) 2018 STMicroelectronics
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F7xx_IT_H
#define __STM32F7xx_IT_H
#ifdef __cplusplus
extern "C" {
#endif
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void NMI_Handler(void);
void HardFault_Handler(void);
void MemManage_Handler(void);
void BusFault_Handler(void);
void UsageFault_Handler(void);
void SVC_Handler(void);
void DebugMon_Handler(void);
void PendSV_Handler(void);
void SysTick_Handler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
#ifdef __cplusplus
}
#endif
#endif /* __STM32F7xx_IT_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
<Target>
<TargetName>CubeMX_Config</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>216000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath />
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>0</CpuCode>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>1</tRfunc>
<tRbox>1</tRbox>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<nTsel>13</nTsel>
<sDll />
<sDllPa />
<sDlgDll />
<sDlgPa />
<sIfile />
<tDll />
<tDllPa />
<tDlgDll />
<tDlgPa />
<tIfile />
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F767IG$Flash\STM32F7x_1024.FLM) -FF1STM32F7x_TCM -FS1200000 -FL1100000 -FP1($$Device:STM32F767IG$Flash\STM32F7x_TCM.FLM)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key />
<Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F767IG$Flash\STM32F7x_1024.FLM) -FF1STM32F7x_TCM -FS1200000 -FL1100000 -FP1($$Device:STM32F767IG$Flash\STM32F7x_TCM.FLM)</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>0</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>0</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable />
<LintConfigFile />
</TargetOption>
</Target>
</ProjectOpt>

View File

@ -0,0 +1,648 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="project_proj.xsd">
<SchemaVersion>1.1</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Targets>
<Target>
<TargetName>CubeMX_Config</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<TargetCommonOption>
<Device>STM32F767IGTx</Device>
<Vendor>STMicroelectronics</Vendor>
<Cpu>IRAM(0x20000000-0x2007FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE</Cpu>
<FlashUtilSpec/>
<StartupFile/>
<FlashDriverDll/>
<DeviceId/>
<RegisterFile/>
<MemoryEnv/>
<Cmp/>
<Asm/>
<Linker/>
<OHString/>
<InfinionOptionDll/>
<SLE66CMisc/>
<SLE66AMisc/>
<SLE66LinkerMisc/>
<SFDFile/>
<bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv>
<BinPath/>
<IncludePath/>
<LibPath/>
<RegisterFilePath/>
<DBRegisterFilePath/>
<TargetStatus>
<Error>0</Error>
<ExitCodeStop>0</ExitCodeStop>
<ButtonStop>0</ButtonStop>
<NotGenerated>0</NotGenerated>
<InvalidFlash>1</InvalidFlash>
</TargetStatus>
<OutputDirectory>CubeMX_Config\</OutputDirectory>
<OutputName>CubeMX_Config</OutputName>
<CreateExecutable>1</CreateExecutable>
<CreateLib>0</CreateLib>
<CreateHexFile>1</CreateHexFile>
<DebugInformation>1</DebugInformation>
<BrowseInformation>1</BrowseInformation>
<ListingPath>./CubeMX_Config/</ListingPath>
<HexFormatSelection>1</HexFormatSelection>
<Merge32K>0</Merge32K>
<CreateBatchFile>0</CreateBatchFile>
<BeforeCompile>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name/>
<UserProg2Name/>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
</BeforeCompile>
<BeforeMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name/>
<UserProg2Name/>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopB1X>0</nStopB1X>
<nStopB2X>0</nStopB2X>
</BeforeMake>
<AfterMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name/>
<UserProg2Name/>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
</AfterMake>
<SelectedForBatchBuild>0</SelectedForBatchBuild>
<SVCSIdString/>
</TargetCommonOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>0</AlwaysBuild>
<GenerateAssemblyFile>0</GenerateAssemblyFile>
<AssembleAssemblyFile>0</AssembleAssemblyFile>
<PublicsOnly>0</PublicsOnly>
<StopOnExitCode>3</StopOnExitCode>
<CustomArgument/>
<IncludeLibraryModules/>
<ComprImg/>
</CommonProperty>
<DllOption>
<SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments>-REMAP -MPU</SimDllArguments>
<SimDlgDll>DCM.DLL</SimDlgDll>
<SimDlgDllArguments>-pCM7</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments>-MPU</TargetDllArguments>
<TargetDlgDll>TCM.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
</DllOption>
<DebugOption>
<OPTHX>
<HexSelection>1</HexSelection>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
<Oh166RecLen>16</Oh166RecLen>
</OPTHX>
<Simulator>
<UseSimulator>0</UseSimulator>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>1</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
<RestoreSysVw>1</RestoreSysVw>
</Simulator>
<Target>
<UseTarget>1</UseTarget>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw>
</Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>13</TargetSelection>
<SimDlls>
<CpuDll/>
<CpuDllArguments/>
<PeripheralDll/>
<PeripheralDllArguments/>
<InitializationFile/>
</SimDlls>
<TargetDlls>
<CpuDll/>
<CpuDllArguments/>
<PeripheralDll/>
<PeripheralDllArguments/>
<InitializationFile/>
<Driver>STLink\ST-LINKIII-KEIL_SWO.dll</Driver>
</TargetDlls>
</DebugOption>
<Utilities>
<Flash1>
<UseTargetDll>1</UseTargetDll>
<UseExternalTool>0</UseExternalTool>
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<DriverSelection>4107</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>STLink\ST-LINKIII-KEIL_SWO.dll</Flash2>
<Flash3/>
<Flash4/>
<pFcarmOut/>
<pFcarmGrp/>
<pFcArmRoot/>
<FcArmLst>0</FcArmLst>
</Utilities>
<TargetArmAds>
<ArmAdsMisc>
<GenerateListings>0</GenerateListings>
<asHll>1</asHll>
<asAsm>1</asAsm>
<asMacX>1</asMacX>
<asSyms>1</asSyms>
<asFals>1</asFals>
<asDbgD>1</asDbgD>
<asForm>1</asForm>
<ldLst>0</ldLst>
<ldmm>1</ldmm>
<ldXref>1</ldXref>
<BigEnd>0</BigEnd>
<AdsALst>1</AdsALst>
<AdsACrf>1</AdsACrf>
<AdsANop>0</AdsANop>
<AdsANot>0</AdsANot>
<AdsLLst>1</AdsLLst>
<AdsLmap>1</AdsLmap>
<AdsLcgr>1</AdsLcgr>
<AdsLsym>1</AdsLsym>
<AdsLszi>1</AdsLszi>
<AdsLtoi>1</AdsLtoi>
<AdsLsun>1</AdsLsun>
<AdsLven>1</AdsLven>
<AdsLsxf>1</AdsLsxf>
<RvctClst>0</RvctClst>
<GenPPlst>0</GenPPlst>
<AdsCpuType>"Cortex-M7"</AdsCpuType>
<RvctDeviceName/>
<mOS>0</mOS>
<uocRom>0</uocRom>
<uocRam>0</uocRam>
<hadIROM>1</hadIROM>
<hadIRAM>1</hadIRAM>
<hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam>
<RvdsVP>3</RvdsVP>
<hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2>
<StupSel>8</StupSel>
<useUlib>1</useUlib>
<EndSel>0</EndSel>
<uLtcg>0</uLtcg>
<RoSelD>3</RoSelD>
<RwSelD>3</RwSelD>
<CodeSel>0</CodeSel>
<OptFeed>0</OptFeed>
<NoZi1>0</NoZi1>
<NoZi2>0</NoZi2>
<NoZi3>0</NoZi3>
<NoZi4>0</NoZi4>
<NoZi5>0</NoZi5>
<Ro1Chk>0</Ro1Chk>
<Ro2Chk>0</Ro2Chk>
<Ro3Chk>0</Ro3Chk>
<Ir1Chk>1</Ir1Chk>
<Ir2Chk>0</Ir2Chk>
<Ra1Chk>0</Ra1Chk>
<Ra2Chk>0</Ra2Chk>
<Ra3Chk>0</Ra3Chk>
<Im1Chk>1</Im1Chk>
<Im2Chk>0</Im2Chk>
<OnChipMemories>
<Ocm1>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm1>
<Ocm2>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm2>
<Ocm3>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm3>
<Ocm4>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm4>
<Ocm5>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm5>
<Ocm6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm6>
<IRAM>
<Type>0</Type>
<StartAddress/>
<Size/>
</IRAM>
<IROM>
<Type>1</Type>
<StartAddress/>
<Size/>
</IROM>
<XRAM>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</XRAM>
<OCR_RVCT1>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT1>
<OCR_RVCT2>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT2>
<OCR_RVCT3>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress/>
<Size/>
</OCR_RVCT4>
<OCR_RVCT5>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT5>
<OCR_RVCT6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT6>
<OCR_RVCT7>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT7>
<OCR_RVCT8>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT8>
<OCR_RVCT9>
<Type>0</Type>
<StartAddress/>
<Size/>
</OCR_RVCT9>
<OCR_RVCT10>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT10>
</OnChipMemories>
<RvctStartVector/>
</ArmAdsMisc>
<Cads>
<interw>1</interw>
<Optim>4</Optim>
<oTime>0</oTime>
<SplitLS>0</SplitLS>
<OneElfS>1</OneElfS>
<Strict>0</Strict>
<EnumInt>0</EnumInt>
<PlainCh>0</PlainCh>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<wLevel>2</wLevel>
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>1</uC99>
<useXO>0</useXO>
<VariousControls>
<MiscControls/>
<Define>USE_HAL_DRIVER,STM32F767xx</Define>
<Undefine/>
<IncludePath>../Inc;../Drivers/STM32F7xx_HAL_Driver/Inc;../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F7xx/Include;../Drivers/CMSIS/Include</IncludePath>
</VariousControls>
</Cads>
<Aads>
<interw>1</interw>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<thumb>0</thumb>
<SplitLS>0</SplitLS>
<SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn>
<VariousControls>
<MiscControls/>
<Define/>
<Undefine/>
<IncludePath/>
</VariousControls>
</Aads>
<LDads>
<umfTarg>1</umfTarg>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<noStLib>0</noStLib>
<RepFail>1</RepFail>
<useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange>
<pXoBase/>
<ScatterFile/>
<IncludeLibs/>
<IncludeLibsPath/>
<Misc/>
<LinkerInputFile/>
<DisabledWarnings/>
</LDads>
</TargetArmAds>
</TargetOption>
<Groups>
<Group>
<GroupName>Application/MDK-ARM</GroupName>
<Files>
<File>
<FileName>startup_stm32f767xx.s</FileName>
<FileType>2</FileType>
<FilePath>startup_stm32f767xx.s</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
</Group>
<Group>
<GroupName>Drivers/STM32F7xx_HAL_Driver</GroupName>
<Files>
<File>
<FileName>stm32f7xx_hal_adc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_adc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_dma2d.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma2d.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_eth.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_eth.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_ll_fmc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_fmc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_sdram.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sdram.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_ltdc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_ltdc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_ltdc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_ltdc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_dsi.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dsi.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_qspi.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_qspi.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_ll_sdmmc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_sdmmc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_sd.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_tim.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_tim_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_uart.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_rcc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_rcc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_flash.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_flash_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_dma_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_pwr.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_pwr_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_i2c_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_exti.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>Drivers/CMSIS</GroupName>
<Files>
<File>
<FileName>system_stm32f7xx.c</FileName>
<FileType>1</FileType>
<FilePath>../Src/system_stm32f7xx.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>Application/User</GroupName>
<Files>
<File>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<uC99>2</uC99>
<useXO>2</useXO>
</Cads>
</FileArmAds>
</FileOption>
</File>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
<FilePath>../Src/main.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_it.c</FileName>
<FileType>1</FileType>
<FilePath>../Src/stm32f7xx_it.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_msp.c</FileName>
<FileType>1</FileType>
<FilePath>../Src/stm32f7xx_hal_msp.c</FilePath>
</File>
</Files>
</Group>
</Groups>
</Target>
</Targets>
<RTE>
<apis/>
<components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.3.0" condition="CMSIS Core">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.5.0"/>
<targetInfos>
<targetInfo name="CubeMX_Config"/>
</targetInfos>
</component>
</components>
<files/>
</RTE>
</Project>

View File

@ -0,0 +1,517 @@
;******************** (C) COPYRIGHT 2016 STMicroelectronics ********************
;* File Name : startup_stm32f767xx.s
;* Author : MCD Application Team
;* Description : STM32F767xx devices vector table for MDK-ARM toolchain.
;* This module performs:
;* - Set the initial SP
;* - Set the initial PC == Reset_Handler
;* - Set the vector table entries with the exceptions ISR address
;* - Branches to __main in the C library (which eventually
;* calls main()).
;* After Reset the CortexM7 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main.
;* <<< Use Configuration Wizard in Context Menu >>>
;*******************************************************************************
;
;* Redistribution and use in source and binary forms, with or without modification,
;* are permitted provided that the following conditions are met:
;* 1. Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the following disclaimer.
;* 2. Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the following disclaimer in the documentation
;* and/or other materials provided with the distribution.
;* 3. Neither the name of STMicroelectronics nor the names of its contributors
;* may be used to endorse or promote products derived from this software
;* without specific prior written permission.
;*
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;
;*******************************************************************************
; Amount of memory (in bytes) allocated for Stack
; Tailor this value to your application needs
; <h> Stack Configuration
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Stack_Size EQU 0x400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
; <h> Heap Configuration
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Heap_Size EQU 0x200
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WWDG_IRQHandler ; Window WatchDog
DCD PVD_IRQHandler ; PVD through EXTI Line detection
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
DCD FLASH_IRQHandler ; FLASH
DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line0
DCD EXTI1_IRQHandler ; EXTI Line1
DCD EXTI2_IRQHandler ; EXTI Line2
DCD EXTI3_IRQHandler ; EXTI Line3
DCD EXTI4_IRQHandler ; EXTI Line4
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s
DCD CAN1_TX_IRQHandler ; CAN1 TX
DCD CAN1_RX0_IRQHandler ; CAN1 RX0
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
DCD EXTI9_5_IRQHandler ; External Line[9:5]s
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; External Line[15:10]s
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
DCD FMC_IRQHandler ; FMC
DCD SDMMC1_IRQHandler ; SDMMC1
DCD TIM5_IRQHandler ; TIM5
DCD SPI3_IRQHandler ; SPI3
DCD UART4_IRQHandler ; UART4
DCD UART5_IRQHandler ; UART5
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
DCD TIM7_IRQHandler ; TIM7
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
DCD ETH_IRQHandler ; Ethernet
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
DCD CAN2_TX_IRQHandler ; CAN2 TX
DCD CAN2_RX0_IRQHandler ; CAN2 RX0
DCD CAN2_RX1_IRQHandler ; CAN2 RX1
DCD CAN2_SCE_IRQHandler ; CAN2 SCE
DCD OTG_FS_IRQHandler ; USB OTG FS
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7
DCD USART6_IRQHandler ; USART6
DCD I2C3_EV_IRQHandler ; I2C3 event
DCD I2C3_ER_IRQHandler ; I2C3 error
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI
DCD OTG_HS_IRQHandler ; USB OTG HS
DCD DCMI_IRQHandler ; DCMI
DCD 0 ; Reserved
DCD RNG_IRQHandler ; Rng
DCD FPU_IRQHandler ; FPU
DCD UART7_IRQHandler ; UART7
DCD UART8_IRQHandler ; UART8
DCD SPI4_IRQHandler ; SPI4
DCD SPI5_IRQHandler ; SPI5
DCD SPI6_IRQHandler ; SPI6
DCD SAI1_IRQHandler ; SAI1
DCD LTDC_IRQHandler ; LTDC
DCD LTDC_ER_IRQHandler ; LTDC error
DCD DMA2D_IRQHandler ; DMA2D
DCD SAI2_IRQHandler ; SAI2
DCD QUADSPI_IRQHandler ; QUADSPI
DCD LPTIM1_IRQHandler ; LPTIM1
DCD CEC_IRQHandler ; HDMI_CEC
DCD I2C4_EV_IRQHandler ; I2C4 Event
DCD I2C4_ER_IRQHandler ; I2C4 Error
DCD SPDIF_RX_IRQHandler ; SPDIF_RX
DCD 0 ; Reserved
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter 0 global Interrupt
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter 1 global Interrupt
DCD DFSDM1_FLT2_IRQHandler ; DFSDM1 Filter 2 global Interrupt
DCD DFSDM1_FLT3_IRQHandler ; DFSDM1 Filter 3 global Interrupt
DCD SDMMC2_IRQHandler ; SDMMC2
DCD CAN3_TX_IRQHandler ; CAN3 TX
DCD CAN3_RX0_IRQHandler ; CAN3 RX0
DCD CAN3_RX1_IRQHandler ; CAN3 RX1
DCD CAN3_SCE_IRQHandler ; CAN3 SCE
DCD JPEG_IRQHandler ; JPEG
DCD MDIOS_IRQHandler ; MDIOS
__Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC
EXPORT NMI_Handler [WEAK]
B .
ENDP
HardFault_Handler\
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
MemManage_Handler\
PROC
EXPORT MemManage_Handler [WEAK]
B .
ENDP
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
UsageFault_Handler\
PROC
EXPORT UsageFault_Handler [WEAK]
B .
ENDP
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
DebugMon_Handler\
PROC
EXPORT DebugMon_Handler [WEAK]
B .
ENDP
PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
Default_Handler PROC
EXPORT WWDG_IRQHandler [WEAK]
EXPORT PVD_IRQHandler [WEAK]
EXPORT TAMP_STAMP_IRQHandler [WEAK]
EXPORT RTC_WKUP_IRQHandler [WEAK]
EXPORT FLASH_IRQHandler [WEAK]
EXPORT RCC_IRQHandler [WEAK]
EXPORT EXTI0_IRQHandler [WEAK]
EXPORT EXTI1_IRQHandler [WEAK]
EXPORT EXTI2_IRQHandler [WEAK]
EXPORT EXTI3_IRQHandler [WEAK]
EXPORT EXTI4_IRQHandler [WEAK]
EXPORT DMA1_Stream0_IRQHandler [WEAK]
EXPORT DMA1_Stream1_IRQHandler [WEAK]
EXPORT DMA1_Stream2_IRQHandler [WEAK]
EXPORT DMA1_Stream3_IRQHandler [WEAK]
EXPORT DMA1_Stream4_IRQHandler [WEAK]
EXPORT DMA1_Stream5_IRQHandler [WEAK]
EXPORT DMA1_Stream6_IRQHandler [WEAK]
EXPORT ADC_IRQHandler [WEAK]
EXPORT CAN1_TX_IRQHandler [WEAK]
EXPORT CAN1_RX0_IRQHandler [WEAK]
EXPORT CAN1_RX1_IRQHandler [WEAK]
EXPORT CAN1_SCE_IRQHandler [WEAK]
EXPORT EXTI9_5_IRQHandler [WEAK]
EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK]
EXPORT TIM1_UP_TIM10_IRQHandler [WEAK]
EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK]
EXPORT TIM1_CC_IRQHandler [WEAK]
EXPORT TIM2_IRQHandler [WEAK]
EXPORT TIM3_IRQHandler [WEAK]
EXPORT TIM4_IRQHandler [WEAK]
EXPORT I2C1_EV_IRQHandler [WEAK]
EXPORT I2C1_ER_IRQHandler [WEAK]
EXPORT I2C2_EV_IRQHandler [WEAK]
EXPORT I2C2_ER_IRQHandler [WEAK]
EXPORT SPI1_IRQHandler [WEAK]
EXPORT SPI2_IRQHandler [WEAK]
EXPORT USART1_IRQHandler [WEAK]
EXPORT USART2_IRQHandler [WEAK]
EXPORT USART3_IRQHandler [WEAK]
EXPORT EXTI15_10_IRQHandler [WEAK]
EXPORT RTC_Alarm_IRQHandler [WEAK]
EXPORT OTG_FS_WKUP_IRQHandler [WEAK]
EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK]
EXPORT TIM8_UP_TIM13_IRQHandler [WEAK]
EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK]
EXPORT TIM8_CC_IRQHandler [WEAK]
EXPORT DMA1_Stream7_IRQHandler [WEAK]
EXPORT FMC_IRQHandler [WEAK]
EXPORT SDMMC1_IRQHandler [WEAK]
EXPORT TIM5_IRQHandler [WEAK]
EXPORT SPI3_IRQHandler [WEAK]
EXPORT UART4_IRQHandler [WEAK]
EXPORT UART5_IRQHandler [WEAK]
EXPORT TIM6_DAC_IRQHandler [WEAK]
EXPORT TIM7_IRQHandler [WEAK]
EXPORT DMA2_Stream0_IRQHandler [WEAK]
EXPORT DMA2_Stream1_IRQHandler [WEAK]
EXPORT DMA2_Stream2_IRQHandler [WEAK]
EXPORT DMA2_Stream3_IRQHandler [WEAK]
EXPORT DMA2_Stream4_IRQHandler [WEAK]
EXPORT ETH_IRQHandler [WEAK]
EXPORT ETH_WKUP_IRQHandler [WEAK]
EXPORT CAN2_TX_IRQHandler [WEAK]
EXPORT CAN2_RX0_IRQHandler [WEAK]
EXPORT CAN2_RX1_IRQHandler [WEAK]
EXPORT CAN2_SCE_IRQHandler [WEAK]
EXPORT OTG_FS_IRQHandler [WEAK]
EXPORT DMA2_Stream5_IRQHandler [WEAK]
EXPORT DMA2_Stream6_IRQHandler [WEAK]
EXPORT DMA2_Stream7_IRQHandler [WEAK]
EXPORT USART6_IRQHandler [WEAK]
EXPORT I2C3_EV_IRQHandler [WEAK]
EXPORT I2C3_ER_IRQHandler [WEAK]
EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK]
EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK]
EXPORT OTG_HS_WKUP_IRQHandler [WEAK]
EXPORT OTG_HS_IRQHandler [WEAK]
EXPORT DCMI_IRQHandler [WEAK]
EXPORT RNG_IRQHandler [WEAK]
EXPORT FPU_IRQHandler [WEAK]
EXPORT UART7_IRQHandler [WEAK]
EXPORT UART8_IRQHandler [WEAK]
EXPORT SPI4_IRQHandler [WEAK]
EXPORT SPI5_IRQHandler [WEAK]
EXPORT SPI6_IRQHandler [WEAK]
EXPORT SAI1_IRQHandler [WEAK]
EXPORT LTDC_IRQHandler [WEAK]
EXPORT LTDC_ER_IRQHandler [WEAK]
EXPORT DMA2D_IRQHandler [WEAK]
EXPORT SAI2_IRQHandler [WEAK]
EXPORT QUADSPI_IRQHandler [WEAK]
EXPORT LPTIM1_IRQHandler [WEAK]
EXPORT CEC_IRQHandler [WEAK]
EXPORT I2C4_EV_IRQHandler [WEAK]
EXPORT I2C4_ER_IRQHandler [WEAK]
EXPORT SPDIF_RX_IRQHandler [WEAK]
EXPORT DFSDM1_FLT0_IRQHandler [WEAK]
EXPORT DFSDM1_FLT1_IRQHandler [WEAK]
EXPORT DFSDM1_FLT2_IRQHandler [WEAK]
EXPORT DFSDM1_FLT3_IRQHandler [WEAK]
EXPORT SDMMC2_IRQHandler [WEAK]
EXPORT CAN3_TX_IRQHandler [WEAK]
EXPORT CAN3_RX0_IRQHandler [WEAK]
EXPORT CAN3_RX1_IRQHandler [WEAK]
EXPORT CAN3_SCE_IRQHandler [WEAK]
EXPORT JPEG_IRQHandler [WEAK]
EXPORT MDIOS_IRQHandler [WEAK]
WWDG_IRQHandler
PVD_IRQHandler
TAMP_STAMP_IRQHandler
RTC_WKUP_IRQHandler
FLASH_IRQHandler
RCC_IRQHandler
EXTI0_IRQHandler
EXTI1_IRQHandler
EXTI2_IRQHandler
EXTI3_IRQHandler
EXTI4_IRQHandler
DMA1_Stream0_IRQHandler
DMA1_Stream1_IRQHandler
DMA1_Stream2_IRQHandler
DMA1_Stream3_IRQHandler
DMA1_Stream4_IRQHandler
DMA1_Stream5_IRQHandler
DMA1_Stream6_IRQHandler
ADC_IRQHandler
CAN1_TX_IRQHandler
CAN1_RX0_IRQHandler
CAN1_RX1_IRQHandler
CAN1_SCE_IRQHandler
EXTI9_5_IRQHandler
TIM1_BRK_TIM9_IRQHandler
TIM1_UP_TIM10_IRQHandler
TIM1_TRG_COM_TIM11_IRQHandler
TIM1_CC_IRQHandler
TIM2_IRQHandler
TIM3_IRQHandler
TIM4_IRQHandler
I2C1_EV_IRQHandler
I2C1_ER_IRQHandler
I2C2_EV_IRQHandler
I2C2_ER_IRQHandler
SPI1_IRQHandler
SPI2_IRQHandler
USART1_IRQHandler
USART2_IRQHandler
USART3_IRQHandler
EXTI15_10_IRQHandler
RTC_Alarm_IRQHandler
OTG_FS_WKUP_IRQHandler
TIM8_BRK_TIM12_IRQHandler
TIM8_UP_TIM13_IRQHandler
TIM8_TRG_COM_TIM14_IRQHandler
TIM8_CC_IRQHandler
DMA1_Stream7_IRQHandler
FMC_IRQHandler
SDMMC1_IRQHandler
TIM5_IRQHandler
SPI3_IRQHandler
UART4_IRQHandler
UART5_IRQHandler
TIM6_DAC_IRQHandler
TIM7_IRQHandler
DMA2_Stream0_IRQHandler
DMA2_Stream1_IRQHandler
DMA2_Stream2_IRQHandler
DMA2_Stream3_IRQHandler
DMA2_Stream4_IRQHandler
ETH_IRQHandler
ETH_WKUP_IRQHandler
CAN2_TX_IRQHandler
CAN2_RX0_IRQHandler
CAN2_RX1_IRQHandler
CAN2_SCE_IRQHandler
OTG_FS_IRQHandler
DMA2_Stream5_IRQHandler
DMA2_Stream6_IRQHandler
DMA2_Stream7_IRQHandler
USART6_IRQHandler
I2C3_EV_IRQHandler
I2C3_ER_IRQHandler
OTG_HS_EP1_OUT_IRQHandler
OTG_HS_EP1_IN_IRQHandler
OTG_HS_WKUP_IRQHandler
OTG_HS_IRQHandler
DCMI_IRQHandler
RNG_IRQHandler
FPU_IRQHandler
UART7_IRQHandler
UART8_IRQHandler
SPI4_IRQHandler
SPI5_IRQHandler
SPI6_IRQHandler
SAI1_IRQHandler
LTDC_IRQHandler
LTDC_ER_IRQHandler
DMA2D_IRQHandler
SAI2_IRQHandler
QUADSPI_IRQHandler
LPTIM1_IRQHandler
CEC_IRQHandler
I2C4_EV_IRQHandler
I2C4_ER_IRQHandler
SPDIF_RX_IRQHandler
DFSDM1_FLT0_IRQHandler
DFSDM1_FLT1_IRQHandler
DFSDM1_FLT2_IRQHandler
DFSDM1_FLT3_IRQHandler
SDMMC2_IRQHandler
CAN3_TX_IRQHandler
CAN3_RX0_IRQHandler
CAN3_RX1_IRQHandler
CAN3_SCE_IRQHandler
JPEG_IRQHandler
MDIOS_IRQHandler
B .
ENDP
ALIGN
;*******************************************************************************
; User Stack and Heap initialization
;*******************************************************************************
IF :DEF:__MICROLIB
EXPORT __initial_sp
EXPORT __heap_base
EXPORT __heap_limit
ELSE
IMPORT __use_two_region_memory
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
ALIGN
ENDIF
END
;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****

View File

@ -0,0 +1,642 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
** This notice applies to any and all portions of this file
* that are not between comment pairs USER CODE BEGIN and
* USER CODE END. Other portions of this file, whether
* inserted by the user or by software development tools
* are owned by their respective copyright owners.
*
* COPYRIGHT(c) 2018 STMicroelectronics
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc1;
DMA2D_HandleTypeDef hdma2d;
ETH_HandleTypeDef heth;
LTDC_HandleTypeDef hltdc;
QSPI_HandleTypeDef hqspi;
SD_HandleTypeDef hsd1;
UART_HandleTypeDef huart1;
SDRAM_HandleTypeDef hsdram1;
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
static void MX_ETH_Init(void);
static void MX_FMC_Init(void);
static void MX_QUADSPI_Init(void);
static void MX_SDMMC1_SD_Init(void);
static void MX_DMA2D_Init(void);
static void MX_LTDC_Init(void);
static void MX_ADC1_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
MX_ETH_Init();
MX_FMC_Init();
MX_QUADSPI_Init();
MX_SDMMC1_SD_Init();
MX_DMA2D_Init();
MX_LTDC_Init();
MX_ADC1_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Configure the main internal regulator output voltage
*/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the CPU, AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 25;
RCC_OscInitStruct.PLL.PLLN = 432;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 9;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Activate the Over-Drive mode
*/
if (HAL_PWREx_EnableOverDrive() != HAL_OK)
{
Error_Handler();
}
/** Initializes the CPU, AHB and APB busses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK)
{
Error_Handler();
}
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_USART1
|RCC_PERIPHCLK_SDMMC1|RCC_PERIPHCLK_CLK48;
PeriphClkInitStruct.PLLSAI.PLLSAIN = 192;
PeriphClkInitStruct.PLLSAI.PLLSAIR = 3;
PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2;
PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV2;
PeriphClkInitStruct.PLLSAIDivQ = 1;
PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2;
PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL;
PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief ADC1 Initialization Function
* @param None
* @retval None
*/
static void MX_ADC1_Init(void)
{
/* USER CODE BEGIN ADC1_Init 0 */
/* USER CODE END ADC1_Init 0 */
ADC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN ADC1_Init 1 */
/* USER CODE END ADC1_Init 1 */
/** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion)
*/
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.ScanConvMode = DISABLE;
hadc1.Init.ContinuousConvMode = DISABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = 1;
hadc1.Init.DMAContinuousRequests = DISABLE;
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
if (HAL_ADC_Init(&hadc1) != HAL_OK)
{
Error_Handler();
}
/** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
*/
sConfig.Channel = ADC_CHANNEL_5;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC1_Init 2 */
/* USER CODE END ADC1_Init 2 */
}
/**
* @brief DMA2D Initialization Function
* @param None
* @retval None
*/
static void MX_DMA2D_Init(void)
{
/* USER CODE BEGIN DMA2D_Init 0 */
/* USER CODE END DMA2D_Init 0 */
/* USER CODE BEGIN DMA2D_Init 1 */
/* USER CODE END DMA2D_Init 1 */
hdma2d.Instance = DMA2D;
hdma2d.Init.Mode = DMA2D_M2M;
hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888;
hdma2d.Init.OutputOffset = 0;
hdma2d.LayerCfg[1].InputOffset = 0;
hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888;
hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
hdma2d.LayerCfg[1].InputAlpha = 0;
hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;
if (HAL_DMA2D_Init(&hdma2d) != HAL_OK)
{
Error_Handler();
}
if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN DMA2D_Init 2 */
/* USER CODE END DMA2D_Init 2 */
}
/**
* @brief ETH Initialization Function
* @param None
* @retval None
*/
static void MX_ETH_Init(void)
{
/* USER CODE BEGIN ETH_Init 0 */
/* USER CODE END ETH_Init 0 */
uint8_t MACAddr[6] ;
/* USER CODE BEGIN ETH_Init 1 */
/* USER CODE END ETH_Init 1 */
heth.Instance = ETH;
heth.Init.AutoNegotiation = ETH_AUTONEGOTIATION_ENABLE;
heth.Init.PhyAddress = LAN8742A_PHY_ADDRESS;
MACAddr[0] = 0x00;
MACAddr[1] = 0x80;
MACAddr[2] = 0xE1;
MACAddr[3] = 0x00;
MACAddr[4] = 0x00;
MACAddr[5] = 0x00;
heth.Init.MACAddr = &MACAddr[0];
heth.Init.RxMode = ETH_RXPOLLING_MODE;
heth.Init.ChecksumMode = ETH_CHECKSUM_BY_HARDWARE;
heth.Init.MediaInterface = ETH_MEDIA_INTERFACE_RMII;
/* USER CODE BEGIN MACADDRESS */
/* USER CODE END MACADDRESS */
if (HAL_ETH_Init(&heth) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ETH_Init 2 */
/* USER CODE END ETH_Init 2 */
}
/**
* @brief LTDC Initialization Function
* @param None
* @retval None
*/
static void MX_LTDC_Init(void)
{
/* USER CODE BEGIN LTDC_Init 0 */
/* USER CODE END LTDC_Init 0 */
LTDC_LayerCfgTypeDef pLayerCfg = {0};
LTDC_LayerCfgTypeDef pLayerCfg1 = {0};
/* USER CODE BEGIN LTDC_Init 1 */
/* USER CODE END LTDC_Init 1 */
hltdc.Instance = LTDC;
hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
hltdc.Init.HorizontalSync = 7;
hltdc.Init.VerticalSync = 3;
hltdc.Init.AccumulatedHBP = 14;
hltdc.Init.AccumulatedVBP = 5;
hltdc.Init.AccumulatedActiveW = 654;
hltdc.Init.AccumulatedActiveH = 485;
hltdc.Init.TotalWidth = 660;
hltdc.Init.TotalHeigh = 487;
hltdc.Init.Backcolor.Blue = 0;
hltdc.Init.Backcolor.Green = 0;
hltdc.Init.Backcolor.Red = 0;
if (HAL_LTDC_Init(&hltdc) != HAL_OK)
{
Error_Handler();
}
pLayerCfg.WindowX0 = 0;
pLayerCfg.WindowX1 = 0;
pLayerCfg.WindowY0 = 0;
pLayerCfg.WindowY1 = 0;
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;
pLayerCfg.Alpha = 0;
pLayerCfg.Alpha0 = 0;
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg.FBStartAdress = 0;
pLayerCfg.ImageWidth = 0;
pLayerCfg.ImageHeight = 0;
pLayerCfg.Backcolor.Blue = 0;
pLayerCfg.Backcolor.Green = 0;
pLayerCfg.Backcolor.Red = 0;
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)
{
Error_Handler();
}
pLayerCfg1.WindowX0 = 0;
pLayerCfg1.WindowX1 = 0;
pLayerCfg1.WindowY0 = 0;
pLayerCfg1.WindowY1 = 0;
pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;
pLayerCfg1.Alpha = 0;
pLayerCfg1.Alpha0 = 0;
pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg1.FBStartAdress = 0;
pLayerCfg1.ImageWidth = 0;
pLayerCfg1.ImageHeight = 0;
pLayerCfg1.Backcolor.Blue = 0;
pLayerCfg1.Backcolor.Green = 0;
pLayerCfg1.Backcolor.Red = 0;
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg1, 1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN LTDC_Init 2 */
/* USER CODE END LTDC_Init 2 */
}
/**
* @brief QUADSPI Initialization Function
* @param None
* @retval None
*/
static void MX_QUADSPI_Init(void)
{
/* USER CODE BEGIN QUADSPI_Init 0 */
/* USER CODE END QUADSPI_Init 0 */
/* USER CODE BEGIN QUADSPI_Init 1 */
/* USER CODE END QUADSPI_Init 1 */
/* QUADSPI parameter configuration*/
hqspi.Instance = QUADSPI;
hqspi.Init.ClockPrescaler = 255;
hqspi.Init.FifoThreshold = 1;
hqspi.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_NONE;
hqspi.Init.FlashSize = 1;
hqspi.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_1_CYCLE;
hqspi.Init.ClockMode = QSPI_CLOCK_MODE_0;
hqspi.Init.FlashID = QSPI_FLASH_ID_1;
hqspi.Init.DualFlash = QSPI_DUALFLASH_DISABLE;
if (HAL_QSPI_Init(&hqspi) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN QUADSPI_Init 2 */
/* USER CODE END QUADSPI_Init 2 */
}
/**
* @brief SDMMC1 Initialization Function
* @param None
* @retval None
*/
static void MX_SDMMC1_SD_Init(void)
{
/* USER CODE BEGIN SDMMC1_Init 0 */
/* USER CODE END SDMMC1_Init 0 */
/* USER CODE BEGIN SDMMC1_Init 1 */
/* USER CODE END SDMMC1_Init 1 */
hsd1.Instance = SDMMC1;
hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B;
hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
hsd1.Init.ClockDiv = 0;
if (HAL_SD_Init(&hsd1) != HAL_OK)
{
Error_Handler();
}
if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SDMMC1_Init 2 */
/* USER CODE END SDMMC1_Init 2 */
}
/**
* @brief USART1 Initialization Function
* @param None
* @retval None
*/
static void MX_USART1_UART_Init(void)
{
/* USER CODE BEGIN USART1_Init 0 */
/* USER CODE END USART1_Init 0 */
/* USER CODE BEGIN USART1_Init 1 */
/* USER CODE END USART1_Init 1 */
huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART1_Init 2 */
/* USER CODE END USART1_Init 2 */
}
/* FMC initialization function */
static void MX_FMC_Init(void)
{
FMC_SDRAM_TimingTypeDef SdramTiming;
/** Perform the SDRAM1 memory initialization sequence
*/
hsdram1.Instance = FMC_SDRAM_DEVICE;
/* hsdram1.Init */
hsdram1.Init.SDBank = FMC_SDRAM_BANK2;
hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8;
hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12;
hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16;
hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_1;
hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_DISABLE;
hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE;
hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_0;
/* SdramTiming */
SdramTiming.LoadToActiveDelay = 16;
SdramTiming.ExitSelfRefreshDelay = 16;
SdramTiming.SelfRefreshTime = 16;
SdramTiming.RowCycleDelay = 16;
SdramTiming.WriteRecoveryTime = 16;
SdramTiming.RPDelay = 16;
SdramTiming.RCDDelay = 16;
if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK)
{
Error_Handler( );
}
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOI_CLK_ENABLE();
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOH, GPIO_PIN_10, GPIO_PIN_RESET);
/*Configure GPIO pin : PH10 */
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -0,0 +1,981 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* File Name : stm32f7xx_hal_msp.c
* Description : This file provides code for the MSP Initialization
* and de-Initialization codes.
******************************************************************************
** This notice applies to any and all portions of this file
* that are not between comment pairs USER CODE BEGIN and
* USER CODE END. Other portions of this file, whether
* inserted by the user or by software development tools
* are owned by their respective copyright owners.
*
* COPYRIGHT(c) 2018 STMicroelectronics
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN TD */
/* USER CODE END TD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN Define */
/* USER CODE END Define */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN Macro */
/* USER CODE END Macro */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* External functions --------------------------------------------------------*/
/* USER CODE BEGIN ExternalFunctions */
/* USER CODE END ExternalFunctions */
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* Initializes the Global MSP.
*/
void HAL_MspInit(void)
{
/* USER CODE BEGIN MspInit 0 */
/* USER CODE END MspInit 0 */
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_RCC_SYSCFG_CLK_ENABLE();
/* System interrupt init*/
/* USER CODE BEGIN MspInit 1 */
/* USER CODE END MspInit 1 */
}
/**
* @brief ADC MSP Initialization
* This function configures the hardware resources used in this example
* @param hadc: ADC handle pointer
* @retval None
*/
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_ADC1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/**ADC1 GPIO Configuration
PA5 ------> ADC1_IN5
*/
GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
}
}
/**
* @brief ADC MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hadc: ADC handle pointer
* @retval None
*/
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
{
if(hadc->Instance==ADC1)
{
/* USER CODE BEGIN ADC1_MspDeInit 0 */
/* USER CODE END ADC1_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_ADC1_CLK_DISABLE();
/**ADC1 GPIO Configuration
PA5 ------> ADC1_IN5
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);
/* USER CODE BEGIN ADC1_MspDeInit 1 */
/* USER CODE END ADC1_MspDeInit 1 */
}
}
/**
* @brief DMA2D MSP Initialization
* This function configures the hardware resources used in this example
* @param hdma2d: DMA2D handle pointer
* @retval None
*/
void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d)
{
if(hdma2d->Instance==DMA2D)
{
/* USER CODE BEGIN DMA2D_MspInit 0 */
/* USER CODE END DMA2D_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_DMA2D_CLK_ENABLE();
/* USER CODE BEGIN DMA2D_MspInit 1 */
/* USER CODE END DMA2D_MspInit 1 */
}
}
/**
* @brief DMA2D MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hdma2d: DMA2D handle pointer
* @retval None
*/
void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)
{
if(hdma2d->Instance==DMA2D)
{
/* USER CODE BEGIN DMA2D_MspDeInit 0 */
/* USER CODE END DMA2D_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_DMA2D_CLK_DISABLE();
/* USER CODE BEGIN DMA2D_MspDeInit 1 */
/* USER CODE END DMA2D_MspDeInit 1 */
}
}
/**
* @brief ETH MSP Initialization
* This function configures the hardware resources used in this example
* @param heth: ETH handle pointer
* @retval None
*/
void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(heth->Instance==ETH)
{
/* USER CODE BEGIN ETH_MspInit 0 */
/* USER CODE END ETH_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_ETH_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/**ETH GPIO Configuration
PC1 ------> ETH_MDC
PA1 ------> ETH_REF_CLK
PA2 ------> ETH_MDIO
PA7 ------> ETH_CRS_DV
PC4 ------> ETH_RXD0
PC5 ------> ETH_RXD1
PB11 ------> ETH_TX_EN
PB12 ------> ETH_TXD0
PB13 ------> ETH_TXD1
*/
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* USER CODE BEGIN ETH_MspInit 1 */
/* USER CODE END ETH_MspInit 1 */
}
}
/**
* @brief ETH MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param heth: ETH handle pointer
* @retval None
*/
void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
{
if(heth->Instance==ETH)
{
/* USER CODE BEGIN ETH_MspDeInit 0 */
/* USER CODE END ETH_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_ETH_CLK_DISABLE();
/**ETH GPIO Configuration
PC1 ------> ETH_MDC
PA1 ------> ETH_REF_CLK
PA2 ------> ETH_MDIO
PA7 ------> ETH_CRS_DV
PC4 ------> ETH_RXD0
PC5 ------> ETH_RXD1
PB11 ------> ETH_TX_EN
PB12 ------> ETH_TXD0
PB13 ------> ETH_TXD1
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13);
/* USER CODE BEGIN ETH_MspDeInit 1 */
/* USER CODE END ETH_MspDeInit 1 */
}
}
/**
* @brief LTDC MSP Initialization
* This function configures the hardware resources used in this example
* @param hltdc: LTDC handle pointer
* @retval None
*/
void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(hltdc->Instance==LTDC)
{
/* USER CODE BEGIN LTDC_MspInit 0 */
/* USER CODE END LTDC_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_LTDC_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOI_CLK_ENABLE();
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
/**LTDC GPIO Configuration
PE4 ------> LTDC_B0
PE5 ------> LTDC_G0
PE6 ------> LTDC_G1
PI9 ------> LTDC_VSYNC
PI10 ------> LTDC_HSYNC
PF10 ------> LTDC_DE
PH2 ------> LTDC_R0
PH3 ------> LTDC_R1
PA3 ------> LTDC_B5
PB0 ------> LTDC_R3
PB1 ------> LTDC_R6
PH8 ------> LTDC_R2
PG6 ------> LTDC_R7
PG7 ------> LTDC_CLK
PC7 ------> LTDC_G6
PA11 ------> LTDC_R4
PA12 ------> LTDC_R5
PH13 ------> LTDC_G2
PH15 ------> LTDC_G4
PI0 ------> LTDC_G5
PI2 ------> LTDC_G7
PD6 ------> LTDC_B2
PG10 ------> LTDC_G3
PG11 ------> LTDC_B3
PG12 ------> LTDC_B1
PB8 ------> LTDC_B6
PB9 ------> LTDC_B7
PI4 ------> LTDC_B4
*/
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_2
|GPIO_PIN_4;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_13
|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_11|GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* USER CODE BEGIN LTDC_MspInit 1 */
/* USER CODE END LTDC_MspInit 1 */
}
}
/**
* @brief LTDC MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hltdc: LTDC handle pointer
* @retval None
*/
void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
{
if(hltdc->Instance==LTDC)
{
/* USER CODE BEGIN LTDC_MspDeInit 0 */
/* USER CODE END LTDC_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_LTDC_CLK_DISABLE();
/**LTDC GPIO Configuration
PE4 ------> LTDC_B0
PE5 ------> LTDC_G0
PE6 ------> LTDC_G1
PI9 ------> LTDC_VSYNC
PI10 ------> LTDC_HSYNC
PF10 ------> LTDC_DE
PH2 ------> LTDC_R0
PH3 ------> LTDC_R1
PA3 ------> LTDC_B5
PB0 ------> LTDC_R3
PB1 ------> LTDC_R6
PH8 ------> LTDC_R2
PG6 ------> LTDC_R7
PG7 ------> LTDC_CLK
PC7 ------> LTDC_G6
PA11 ------> LTDC_R4
PA12 ------> LTDC_R5
PH13 ------> LTDC_G2
PH15 ------> LTDC_G4
PI0 ------> LTDC_G5
PI2 ------> LTDC_G7
PD6 ------> LTDC_B2
PG10 ------> LTDC_G3
PG11 ------> LTDC_B3
PG12 ------> LTDC_B1
PB8 ------> LTDC_B6
PB9 ------> LTDC_B7
PI4 ------> LTDC_B4
*/
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6);
HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_2
|GPIO_PIN_4);
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10);
HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_13
|GPIO_PIN_15);
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_3|GPIO_PIN_11|GPIO_PIN_12);
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_8|GPIO_PIN_9);
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_11
|GPIO_PIN_12);
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_7);
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_6);
/* USER CODE BEGIN LTDC_MspDeInit 1 */
/* USER CODE END LTDC_MspDeInit 1 */
}
}
/**
* @brief QSPI MSP Initialization
* This function configures the hardware resources used in this example
* @param hqspi: QSPI handle pointer
* @retval None
*/
void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(hqspi->Instance==QUADSPI)
{
/* USER CODE BEGIN QUADSPI_MspInit 0 */
/* USER CODE END QUADSPI_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_QSPI_CLK_ENABLE();
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/**QUADSPI GPIO Configuration
PF6 ------> QUADSPI_BK1_IO3
PF7 ------> QUADSPI_BK1_IO2
PF8 ------> QUADSPI_BK1_IO0
PF9 ------> QUADSPI_BK1_IO1
PB2 ------> QUADSPI_CLK
PB6 ------> QUADSPI_BK1_NCS
*/
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* USER CODE BEGIN QUADSPI_MspInit 1 */
/* USER CODE END QUADSPI_MspInit 1 */
}
}
/**
* @brief QSPI MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hqspi: QSPI handle pointer
* @retval None
*/
void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
{
if(hqspi->Instance==QUADSPI)
{
/* USER CODE BEGIN QUADSPI_MspDeInit 0 */
/* USER CODE END QUADSPI_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_QSPI_CLK_DISABLE();
/**QUADSPI GPIO Configuration
PF6 ------> QUADSPI_BK1_IO3
PF7 ------> QUADSPI_BK1_IO2
PF8 ------> QUADSPI_BK1_IO0
PF9 ------> QUADSPI_BK1_IO1
PB2 ------> QUADSPI_CLK
PB6 ------> QUADSPI_BK1_NCS
*/
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_2|GPIO_PIN_6);
/* USER CODE BEGIN QUADSPI_MspDeInit 1 */
/* USER CODE END QUADSPI_MspDeInit 1 */
}
}
/**
* @brief SD MSP Initialization
* This function configures the hardware resources used in this example
* @param hsd: SD handle pointer
* @retval None
*/
void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(hsd->Instance==SDMMC1)
{
/* USER CODE BEGIN SDMMC1_MspInit 0 */
/* USER CODE END SDMMC1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_SDMMC1_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
/**SDMMC1 GPIO Configuration
PC8 ------> SDMMC1_D0
PC9 ------> SDMMC1_D1
PC10 ------> SDMMC1_D2
PC11 ------> SDMMC1_D3
PC12 ------> SDMMC1_CK
PD2 ------> SDMMC1_CMD
*/
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
|GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* USER CODE BEGIN SDMMC1_MspInit 1 */
/* USER CODE END SDMMC1_MspInit 1 */
}
}
/**
* @brief SD MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hsd: SD handle pointer
* @retval None
*/
void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
{
if(hsd->Instance==SDMMC1)
{
/* USER CODE BEGIN SDMMC1_MspDeInit 0 */
/* USER CODE END SDMMC1_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_SDMMC1_CLK_DISABLE();
/**SDMMC1 GPIO Configuration
PC8 ------> SDMMC1_D0
PC9 ------> SDMMC1_D1
PC10 ------> SDMMC1_D2
PC11 ------> SDMMC1_D3
PC12 ------> SDMMC1_CK
PD2 ------> SDMMC1_CMD
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
|GPIO_PIN_12);
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
/* USER CODE BEGIN SDMMC1_MspDeInit 1 */
/* USER CODE END SDMMC1_MspDeInit 1 */
}
}
/**
* @brief UART MSP Initialization
* This function configures the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
/* USER CODE END USART1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_USART1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/**USART1 GPIO Configuration
PA9 ------> USART1_TX
PA10 ------> USART1_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USER CODE BEGIN USART1_MspInit 1 */
/* USER CODE END USART1_MspInit 1 */
}
}
/**
* @brief UART MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
{
if(huart->Instance==USART1)
{
/* USER CODE BEGIN USART1_MspDeInit 0 */
/* USER CODE END USART1_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_USART1_CLK_DISABLE();
/**USART1 GPIO Configuration
PA9 ------> USART1_TX
PA10 ------> USART1_RX
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
/* USER CODE BEGIN USART1_MspDeInit 1 */
/* USER CODE END USART1_MspDeInit 1 */
}
}
static uint32_t FMC_Initialized = 0;
static void HAL_FMC_MspInit(void){
/* USER CODE BEGIN FMC_MspInit 0 */
/* USER CODE END FMC_MspInit 0 */
GPIO_InitTypeDef GPIO_InitStruct;
if (FMC_Initialized) {
return;
}
FMC_Initialized = 1;
/* Peripheral clock enable */
__HAL_RCC_FMC_CLK_ENABLE();
/** FMC GPIO Configuration
PF0 ------> FMC_A0
PF1 ------> FMC_A1
PF2 ------> FMC_A2
PF3 ------> FMC_A3
PF4 ------> FMC_A4
PF5 ------> FMC_A5
PC0 ------> FMC_SDNWE
PF11 ------> FMC_SDNRAS
PF12 ------> FMC_A6
PF13 ------> FMC_A7
PF14 ------> FMC_A8
PF15 ------> FMC_A9
PG0 ------> FMC_A10
PG1 ------> FMC_A11
PE7 ------> FMC_D4
PE8 ------> FMC_D5
PE9 ------> FMC_D6
PE10 ------> FMC_D7
PE11 ------> FMC_D8
PE12 ------> FMC_D9
PE13 ------> FMC_D10
PE14 ------> FMC_D11
PE15 ------> FMC_D12
PH6 ------> FMC_SDNE1
PH7 ------> FMC_SDCKE1
PD8 ------> FMC_D13
PD9 ------> FMC_D14
PD10 ------> FMC_D15
PD14 ------> FMC_D0
PD15 ------> FMC_D1
PG4 ------> FMC_BA0
PG5 ------> FMC_BA1
PG8 ------> FMC_SDCLK
PD0 ------> FMC_D2
PD1 ------> FMC_D3
PG15 ------> FMC_SDNCAS
PE0 ------> FMC_NBL0
PE1 ------> FMC_NBL1
*/
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
|GPIO_PIN_8|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* USER CODE BEGIN FMC_MspInit 1 */
/* USER CODE END FMC_MspInit 1 */
}
void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
/* USER CODE BEGIN SDRAM_MspInit 0 */
/* USER CODE END SDRAM_MspInit 0 */
HAL_FMC_MspInit();
/* USER CODE BEGIN SDRAM_MspInit 1 */
/* USER CODE END SDRAM_MspInit 1 */
}
static uint32_t FMC_DeInitialized = 0;
static void HAL_FMC_MspDeInit(void){
/* USER CODE BEGIN FMC_MspDeInit 0 */
/* USER CODE END FMC_MspDeInit 0 */
if (FMC_DeInitialized) {
return;
}
FMC_DeInitialized = 1;
/* Peripheral clock enable */
__HAL_RCC_FMC_CLK_DISABLE();
/** FMC GPIO Configuration
PF0 ------> FMC_A0
PF1 ------> FMC_A1
PF2 ------> FMC_A2
PF3 ------> FMC_A3
PF4 ------> FMC_A4
PF5 ------> FMC_A5
PC0 ------> FMC_SDNWE
PF11 ------> FMC_SDNRAS
PF12 ------> FMC_A6
PF13 ------> FMC_A7
PF14 ------> FMC_A8
PF15 ------> FMC_A9
PG0 ------> FMC_A10
PG1 ------> FMC_A11
PE7 ------> FMC_D4
PE8 ------> FMC_D5
PE9 ------> FMC_D6
PE10 ------> FMC_D7
PE11 ------> FMC_D8
PE12 ------> FMC_D9
PE13 ------> FMC_D10
PE14 ------> FMC_D11
PE15 ------> FMC_D12
PH6 ------> FMC_SDNE1
PH7 ------> FMC_SDCKE1
PD8 ------> FMC_D13
PD9 ------> FMC_D14
PD10 ------> FMC_D15
PD14 ------> FMC_D0
PD15 ------> FMC_D1
PG4 ------> FMC_BA0
PG5 ------> FMC_BA1
PG8 ------> FMC_SDCLK
PD0 ------> FMC_D2
PD1 ------> FMC_D3
PG15 ------> FMC_SDNCAS
PE0 ------> FMC_NBL0
PE1 ------> FMC_NBL1
*/
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
|GPIO_PIN_8|GPIO_PIN_15);
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
HAL_GPIO_DeInit(GPIOH, GPIO_PIN_6|GPIO_PIN_7);
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
/* USER CODE BEGIN FMC_MspDeInit 1 */
/* USER CODE END FMC_MspDeInit 1 */
}
void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
/* USER CODE BEGIN SDRAM_MspDeInit 0 */
/* USER CODE END SDRAM_MspDeInit 0 */
HAL_FMC_MspDeInit();
/* USER CODE BEGIN SDRAM_MspDeInit 1 */
/* USER CODE END SDRAM_MspDeInit 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -0,0 +1,218 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32f7xx_it.c
* @brief Interrupt Service Routines.
******************************************************************************
*
* COPYRIGHT(c) 2018 STMicroelectronics
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f7xx_it.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN TD */
/* USER CODE END TD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
/* USER CODE BEGIN EV */
/* USER CODE END EV */
/******************************************************************************/
/* Cortex-M7 Processor Interruption and Exception Handlers */
/******************************************************************************/
/**
* @brief This function handles Non maskable interrupt.
*/
void NMI_Handler(void)
{
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
/* USER CODE END NonMaskableInt_IRQn 1 */
}
/**
* @brief This function handles Hard fault interrupt.
*/
void HardFault_Handler(void)
{
/* USER CODE BEGIN HardFault_IRQn 0 */
/* USER CODE END HardFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_HardFault_IRQn 0 */
/* USER CODE END W1_HardFault_IRQn 0 */
}
}
/**
* @brief This function handles Memory management fault.
*/
void MemManage_Handler(void)
{
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
/* USER CODE END MemoryManagement_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
/* USER CODE END W1_MemoryManagement_IRQn 0 */
}
}
/**
* @brief This function handles Pre-fetch fault, memory access fault.
*/
void BusFault_Handler(void)
{
/* USER CODE BEGIN BusFault_IRQn 0 */
/* USER CODE END BusFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_BusFault_IRQn 0 */
/* USER CODE END W1_BusFault_IRQn 0 */
}
}
/**
* @brief This function handles Undefined instruction or illegal state.
*/
void UsageFault_Handler(void)
{
/* USER CODE BEGIN UsageFault_IRQn 0 */
/* USER CODE END UsageFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_UsageFault_IRQn 0 */
/* USER CODE END W1_UsageFault_IRQn 0 */
}
}
/**
* @brief This function handles System service call via SWI instruction.
*/
void SVC_Handler(void)
{
/* USER CODE BEGIN SVCall_IRQn 0 */
/* USER CODE END SVCall_IRQn 0 */
/* USER CODE BEGIN SVCall_IRQn 1 */
/* USER CODE END SVCall_IRQn 1 */
}
/**
* @brief This function handles Debug monitor.
*/
void DebugMon_Handler(void)
{
/* USER CODE BEGIN DebugMonitor_IRQn 0 */
/* USER CODE END DebugMonitor_IRQn 0 */
/* USER CODE BEGIN DebugMonitor_IRQn 1 */
/* USER CODE END DebugMonitor_IRQn 1 */
}
/**
* @brief This function handles Pendable request for system service.
*/
void PendSV_Handler(void)
{
/* USER CODE BEGIN PendSV_IRQn 0 */
/* USER CODE END PendSV_IRQn 0 */
/* USER CODE BEGIN PendSV_IRQn 1 */
/* USER CODE END PendSV_IRQn 1 */
}
/**
* @brief This function handles System tick timer.
*/
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
/* USER CODE END SysTick_IRQn 1 */
}
/******************************************************************************/
/* STM32F7xx Peripheral Interrupt Handlers */
/* Add here the Interrupt Handlers for the used peripherals. */
/* For the available peripheral interrupt handler names, */
/* please refer to the startup file (startup_stm32f7xx.s). */
/******************************************************************************/
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -0,0 +1,238 @@
menu "Hardware Drivers Config"
config SOC_STM32F767IG
bool
select SOC_SERIES_STM32F7
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
default y
menu "Onboard Peripheral Drivers"
config BSP_USING_USB_TO_USART
bool "Enable USB TO USART (uart1)"
select BSP_USING_UART
select BSP_USING_UART1
default y
config BSP_USING_RS232
bool "Enable RS232 (uart2 pin conflict with Ethernet)"
select BSP_USING_UART
select BSP_USING_UART2
default n
config BSP_USING_SDRAM
bool "Enable SDRAM"
select BSP_USING_FMC
default n
config BSP_USING_QSPI_FLASH
bool "Enable QSPI FLASH (W25Q128 qspi1)"
select BSP_USING_QSPI
select RT_USING_SFUD
select RT_SFUD_USING_QSPI
default n
config BSP_USING_LCD
bool "Enable LCD"
select BSP_USING_LTDC
select BSP_USING_SDRAM
default n
config BSP_USING_MPU6050
bool "Enable MPU6050 (i2c4)"
select BSP_USING_I2C4
select PKG_USING_MPU6XXX
default n
config BSP_USING_POT
bool "Enable potentiometer"
select BSP_USING_ADC
select BSP_USING_ADC1
default n
config BSP_USING_SDCARD
bool "Enable SDCARD (sdio)"
select BSP_USING_SDIO
select RT_USING_DFS
select RT_USING_DFS_ELMFAT
select RT_USING_PIN
default n
endmenu
menu "On-chip Peripheral Drivers"
config BSP_USING_GPIO
bool "Enable GPIO"
select RT_USING_PIN
default y
menuconfig BSP_USING_UART
bool "Enable UART"
default y
select RT_USING_SERIAL
if BSP_USING_UART
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
default n
config BSP_USING_UART2
bool "Enable UART2"
default n
config BSP_UART2_RX_USING_DMA
bool "Enable UART2 RX DMA"
depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
default n
config BSP_USING_UART3
bool "Enable UART3"
default n
config BSP_UART3_RX_USING_DMA
bool "Enable UART3 RX DMA"
depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA
default n
endif
config BSP_USING_ON_CHIP_FLASH
bool "Enable on-chip FLASH"
default n
menuconfig BSP_USING_SPI
bool "Enable SPI BUS"
default n
select RT_USING_SPI
if BSP_USING_SPI
config BSP_USING_SPI1
bool "Enable SPI1 BUS"
default n
config BSP_SPI1_TX_USING_DMA
bool "Enable SPI1 TX DMA"
depends on BSP_USING_SPI1
default n
config BSP_SPI1_RX_USING_DMA
bool "Enable SPI1 RX DMA"
depends on BSP_USING_SPI1
select BSP_SPI1_TX_USING_DMA
default n
config BSP_USING_SPI2
bool "Enable SPI2 BUS"
default n
config BSP_SPI2_TX_USING_DMA
bool "Enable SPI2 TX DMA"
depends on BSP_USING_SPI2
default n
config BSP_SPI2_RX_USING_DMA
bool "Enable SPI2 RX DMA"
depends on BSP_USING_SPI2
select BSP_SPI2_TX_USING_DMA
default n
config BSP_USING_SPI5
bool "Enable SPI5 BUS"
default n
config BSP_SPI5_TX_USING_DMA
bool "Enable SPI5 TX DMA"
depends on BSP_USING_SPI5
default n
config BSP_SPI5_RX_USING_DMA
bool "Enable SPI5 RX DMA"
depends on BSP_USING_SPI5
select BSP_SPI5_TX_USING_DMA
default n
endif
config BSP_USING_QSPI
bool "Enable QSPI BUS"
select RT_USING_QSPI
select RT_USING_SPI
default n
menuconfig BSP_USING_ADC
bool "Enable ADC"
default n
select RT_USING_ADC
if BSP_USING_ADC
config BSP_USING_ADC1
bool "Enable ADC1"
default n
endif
menuconfig BSP_USING_I2C1
bool "Enable I2C1 BUS (software simulation)"
default n
select RT_USING_I2C
select RT_USING_I2C_BITOPS
select RT_USING_PIN
if BSP_USING_I2C1
comment "Notice: PB6 --> 22; PB7 --> 23"
config BSP_I2C1_SCL_PIN
int "I2C1 scl pin number"
range 1 176
default 22
config BSP_I2C1_SDA_PIN
int "I2C1 sda pin number"
range 1 176
default 23
endif
menuconfig BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
select RT_USING_WDT
default n
config BSP_USING_SDIO
bool "Enable SDIO"
select RT_USING_SDIO
select RT_USING_DFS
default n
config BSP_USING_FMC
bool
default n
config BSP_USING_LTDC
bool
default n
source "libraries/HAL_Drivers/Kconfig"
endmenu
menu "Board extended module Drivers"
endmenu
endmenu

View File

@ -0,0 +1,40 @@
import os
import rtconfig
from building import *
Import('SDK_LIB')
cwd = GetCurrentDir()
# add general drivers
src = Split('''
board.c
CubeMX_Config/Src/stm32f7xx_hal_msp.c
''')
if GetDepend(['BSP_USING_ETH']):
src += Glob('ports/phy_reset.c')
if GetDepend(['BSP_USING_QSPI_FLASH']):
src += Glob('ports/drv_qspi_flash.c')
if GetDepend(['BSP_USING_SDCARD']):
src += Glob('ports/sdcard_port.c')
path = [cwd]
path += [cwd + '/CubeMX_Config/Inc']
path += [cwd + '/ports']
startup_path_prefix = SDK_LIB
if rtconfig.CROSS_TOOL == 'gcc':
src += [startup_path_prefix + '/STM32F7xx_HAL/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s']
elif rtconfig.CROSS_TOOL == 'keil':
src += [startup_path_prefix + '/STM32F7xx_HAL/CMSIS/Device/ST/STM32F7xx/Source/Templates/arm/startup_stm32f767xx.s']
elif rtconfig.CROSS_TOOL == 'iar':
src += [startup_path_prefix + '/STM32F7xx_HAL/CMSIS/Device/ST/STM32F7xx/Source/Templates/iar/startup_stm32f767xx.s']
CPPDEFINES = ['STM32F767xx']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')

View File

@ -0,0 +1,71 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-11-06 SummerGift first version
*/
#include "board.h"
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/**Configure the main internal regulator output voltage
*/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 25;
RCC_OscInitStruct.PLL.PLLN = 432;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 9;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/**Activate the Over-Drive mode
*/
if (HAL_PWREx_EnableOverDrive() != HAL_OK)
{
Error_Handler();
}
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK)
{
Error_Handler();
}
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_USART1
|RCC_PERIPHCLK_SDMMC1|RCC_PERIPHCLK_CLK48;
PeriphClkInitStruct.PLLSAI.PLLSAIN = 192;
PeriphClkInitStruct.PLLSAI.PLLSAIR = 3;
PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2;
PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV2;
PeriphClkInitStruct.PLLSAIDivQ = 1;
PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2;
PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL;
PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}

View File

@ -0,0 +1,50 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-11-5 SummerGift first version
*/
#ifndef __BOARD_H__
#define __BOARD_H__
#include <rtthread.h>
#include <stm32f7xx.h>
#include "drv_common.h"
#include "drv_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
#define STM32_SRAM_SIZE (512)
#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)
#define STM32_FLASH_START_ADRESS ((uint32_t)0x08000000)
#define STM32_FLASH_SIZE (1024 * 1024)
#define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
#if defined(__CC_ARM) || defined(__CLANG_ARM)
extern int Image$$RW_IRAM1$$ZI$$Limit;
#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit)
#elif __ICCARM__
#pragma section="CSTACK"
#define HEAP_BEGIN (__segment_end("CSTACK"))
#else
extern int __bss_end;
#define HEAP_BEGIN (&__bss_end)
#endif
#define HEAP_END STM32_SRAM_END
void SystemClock_Config(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,28 @@
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2007FFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x0400;
define symbol __ICFEDIT_size_heap__ = 0x0000;
/**** End of ICF editor section. ###ICF###*/
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite, last block CSTACK};

View File

@ -0,0 +1,157 @@
/*
* linker script for STM32F4xx with GNU ld
* bernard.xiong 2009-10-14
*/
/* Program Entry, set to mark it as "used" and avoid gc */
MEMORY
{
ROM (rx) : ORIGIN = 0x08000000, LENGTH = 1024k /* 1024KB flash */
RAM (rw) : ORIGIN = 0x20000000, LENGTH = 512k /* 128K sram */
}
ENTRY(Reset_Handler)
_system_stack_size = 0x200;
SECTIONS
{
.text :
{
. = ALIGN(4);
_stext = .;
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
*(.text) /* remaining code */
*(.text.*) /* remaining code */
*(.rodata) /* read-only data (constants) */
*(.rodata*)
*(.glue_7)
*(.glue_7t)
*(.gnu.linkonce.t*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
/* section information for initial. */
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
PROVIDE(__ctors_start__ = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
PROVIDE(__ctors_end__ = .);
. = ALIGN(4);
_etext = .;
} > ROM = 0
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
/* This is used by the startup in order to initialize the .data secion */
_sidata = .;
} > ROM
__exidx_end = .;
/* .data section which is used for initialized data */
.data : AT (_sidata)
{
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
_sdata = . ;
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
} >RAM
.stack :
{
. = ALIGN(4);
_sstack = .;
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >RAM
__bss_start = .;
.bss :
{
. = ALIGN(4);
/* This is used by the startup in order to initialize the .bss secion */
_sbss = .;
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(4);
/* This is used by the startup in order to initialize the .bss secion */
_ebss = . ;
*(.bss.init)
} > RAM
__bss_end = .;
_end = .;
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
* Symbols in the DWARF debugging sections are relative to the beginning
* of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
}

View File

@ -0,0 +1,15 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20020000 0x00060000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,77 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-11-27 zylx first version
*/
#include <board.h>
#include <drv_qspi.h>
#include <rtdevice.h>
#include <rthw.h>
#include <finsh.h>
#ifdef BSP_USING_QSPI_FLASH
#include "spi_flash.h"
#include "spi_flash_sfud.h"
char w25qxx_read_status_register2(struct rt_qspi_device *device)
{
/* 0x35 read status register2 */
char instruction = 0x35, status;
rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);
return status;
}
void w25qxx_write_enable(struct rt_qspi_device *device)
{
/* 0x06 write enable */
char instruction = 0x06;
rt_qspi_send(device, &instruction, 1);
}
void w25qxx_enter_qspi_mode(struct rt_qspi_device *device)
{
char status = 0;
/* 0x38 enter qspi mode */
char instruction = 0x38;
char write_status2_buf[2] = {0};
/* 0x31 write status register2 */
write_status2_buf[0] = 0x31;
status = w25qxx_read_status_register2(device);
if (!(status & 0x02))
{
status |= 1 << 1;
w25qxx_write_enable(device);
write_status2_buf[1] = status;
rt_qspi_send(device, &write_status2_buf, 2);
rt_qspi_send(device, &instruction, 1);
rt_kprintf("flash already enter qspi mode\n");
rt_thread_mdelay(10);
}
}
static int rt_hw_qspi_flash_with_sfud_init(void)
{
stm32_qspi_bus_attach_device("qspi1", "qspi10", RT_NULL, 4, w25qxx_enter_qspi_mode, RT_NULL);
/* init w25q128 */
if (RT_NULL == rt_sfud_flash_probe("W25Q128", "qspi10"))
{
return -RT_ERROR;
}
return RT_EOK;
}
INIT_COMPONENT_EXPORT(rt_hw_qspi_flash_with_sfud_init);
#endif/* BSP_USING_QSPI_FLASH */

View File

@ -0,0 +1,48 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-12-5 SummerGift first version
*/
#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_
#include <rtthread.h>
#include <board.h>
#define FLASH_SIZE_GRANULARITY_32K (4 * 32 * 1024)
#define FLASH_SIZE_GRANULARITY_128K (128 * 1024)
#define FLASH_SIZE_GRANULARITY_256K (3 * 256 * 1024)
#define STM32_FLASH_START_ADRESS_32K STM32_FLASH_START_ADRESS
#define STM32_FLASH_START_ADRESS_128K (STM32_FLASH_START_ADRESS_32K + FLASH_SIZE_GRANULARITY_32K)
#define STM32_FLASH_START_ADRESS_256K (STM32_FLASH_START_ADRESS_128K + FLASH_SIZE_GRANULARITY_128K)
extern const struct fal_flash_dev stm32_onchip_flash_32k;
extern const struct fal_flash_dev stm32_onchip_flash_128k;
extern const struct fal_flash_dev stm32_onchip_flash_256k;
/* flash device table */
#define FAL_FLASH_DEV_TABLE \
{ \
&stm32_onchip_flash_32k, \
&stm32_onchip_flash_128k, \
&stm32_onchip_flash_256k, \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
#define FAL_PART_TABLE \
{ \
{FAL_PART_MAGIC_WROD, "bootloader", "onchip_flash_32k", 0 , FLASH_SIZE_GRANULARITY_32K , 0}, \
{FAL_PART_MAGIC_WROD, "param", "onchip_flash_128k", 0 , FLASH_SIZE_GRANULARITY_128K, 0}, \
{FAL_PART_MAGIC_WROD, "app", "onchip_flash_256k", 0 , FLASH_SIZE_GRANULARITY_256K, 0}, \
}
#endif /* FAL_PART_HAS_TABLE_CFG */
#endif /* _FAL_CFG_H_ */

View File

@ -0,0 +1,33 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2019-01-08 zylx first version
*/
#ifndef __LCD_PORT_H__
#define __LCD_PORT_H__
/* fire 5 inch screen, 800 * 480 */
#define LCD_WIDTH 800
#define LCD_HEIGHT 480
#define LCD_BITS_PER_PIXEL 16
#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8)
#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB565
#define LCD_HSYNC_WIDTH 2
#define LCD_VSYNC_HEIGHT 2
#define LCD_HBP 46
#define LCD_VBP 23
#define LCD_HFP 22
#define LCD_VFP 22
#define LCD_BACKLIGHT_USING_GPIO
#define LCD_BL_GPIO_NUM GET_PIN(D, 7)
#define LCD_DISP_GPIO_NUM GET_PIN(D, 4)
/* fire 5 inch screen, 800 * 480 */
#endif /* __LCD_PORT_H__ */

View File

@ -0,0 +1,16 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-11-23 flybreak first version
*/
#include <board.h>
void phy_reset(void)
{
/* The phy reset pin of this BSP circuit is connected to the chip reset pin, so no additional reset is required. */
}

View File

@ -0,0 +1,73 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-12-13 balanceTWK add sdcard port file
*/
#include <rtthread.h>
#ifdef BSP_USING_SDCARD
#include <dfs_elm.h>
#include <dfs_fs.h>
#include <dfs_posix.h>
#include "drv_gpio.h"
#define DBG_TAG "app.card"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
#define WIFI_RESET_PIN GET_PIN(G, 9)
int ewm1062_disable(void)
{
rt_pin_mode(WIFI_RESET_PIN, PIN_MODE_OUTPUT);
rt_pin_write(WIFI_RESET_PIN,PIN_LOW);
return RT_EOK;
}
INIT_BOARD_EXPORT(ewm1062_disable);
void sd_mount(void *parameter)
{
while (1)
{
rt_thread_mdelay(500);
if(rt_device_find("sd0") != RT_NULL)
{
if (dfs_mount("sd0", "/", "elm", 0, 0) == RT_EOK)
{
LOG_I("sd card mount to '/'");
break;
}
else
{
LOG_W("sd card mount to '/' failed!");
}
}
}
}
int stm32_sdcard_mount(void)
{
rt_thread_t tid;
tid = rt_thread_create("sd_mount", sd_mount, RT_NULL,
1024, RT_THREAD_PRIORITY_MAX - 2, 20);
if (tid != RT_NULL)
{
rt_thread_startup(tid);
}
else
{
LOG_E("create sd_mount thread err!");
}
return RT_EOK;
}
INIT_ENV_EXPORT(stm32_sdcard_mount);
#endif /* BSP_USING_SDCARD */

View File

@ -0,0 +1,65 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-12-04 zylx The first version for STM32F4xx
*/
#ifndef __SDRAM_PORT_H__
#define __SDRAM_PORT_H__
/* parameters for sdram peripheral */
/* Bank1 or Bank2 */
#define SDRAM_TARGET_BANK 2
/* stm32f7 Bank1:0XC0000000 Bank2:0XD0000000 */
#define SDRAM_BANK_ADDR ((uint32_t)0XD0000000)
/* data width: 8, 16, 32 */
#define SDRAM_DATA_WIDTH 16
/* column bit numbers: 8, 9, 10, 11 */
#define SDRAM_COLUMN_BITS 8
/* row bit numbers: 11, 12, 13 */
#define SDRAM_ROW_BITS 12
/* cas latency clock number: 1, 2, 3 */
#define SDRAM_CAS_LATENCY 2
/* read pipe delay: 0, 1, 2 */
#define SDRAM_RPIPE_DELAY 0
/* clock divid: 2, 3 */
#define SDCLOCK_PERIOD 2
/* refresh rate counter */
#define SDRAM_REFRESH_COUNT ((uint32_t)0x056A)
#define SDRAM_SIZE ((uint32_t)0x800000)
/* Timing configuration for IS42S16400J */
/* 108 MHz of SD clock frequency (216MHz/2) */
/* TMRD: 2 Clock cycles */
#define LOADTOACTIVEDELAY 2
/* TXSR: 8x9.25ns */
#define EXITSELFREFRESHDELAY 8
/* TRAS: 5x9.25ns */
#define SELFREFRESHTIME 5
/* TRC: 7x9.25ns */
#define ROWCYCLEDELAY 7
/* TWR: 2 Clock cycles */
#define WRITERECOVERYTIME 2
/* TRP: 2x9.25ns */
#define RPDELAY 2
/* TRCD: 2x9.25ns */
#define RCDDELAY 3
/* memory mode register */
#define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000)
#define SDRAM_MODEREG_BURST_LENGTH_2 ((uint16_t)0x0001)
#define SDRAM_MODEREG_BURST_LENGTH_4 ((uint16_t)0x0002)
#define SDRAM_MODEREG_BURST_LENGTH_8 ((uint16_t)0x0004)
#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000)
#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008)
#define SDRAM_MODEREG_CAS_LATENCY_2 ((uint16_t)0x0020)
#define SDRAM_MODEREG_CAS_LATENCY_3 ((uint16_t)0x0030)
#define SDRAM_MODEREG_OPERATING_MODE_STANDARD ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200)
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Some files were not shown because too many files have changed in this diff Show More