2020-02-13 07:53 AM
Hello!
I have homemade board with STM32F746, memory - n25q128.
Project generated by Cube 5.5 and touchGFXDesigner 4.13
IDE - KEil 5.29
I put one button to main screen.
When I put images to internal flash - all works very well.
But when I put it to QSPI - I get HardFault, with this callstack
SCT file for External memory :
; *************************************************************
; *** 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 0x20000000 0x00050000 { ; RW data
.ANY (+RW +ZI)
}
}
LR_EROM1 0x90000000 0x1000000 { ; load region size_region
ER_EROM1 0x90000000 0x1000000 { ; load address = execution address
*.o (ExtFlashSection)
*.o (TextFlashSection)
*.o (FontFlashSection)
}
}
IMPORTANT!!!! QSPI functions a tested, and works well. I have read QSPI DATA with special function - it contains correct data (I compare bytes in this
LOCATION_PRAGMA("ExtFlashSection")
KEEP extern const unsigned char _blue_buttons_round_edge_small[] LOCATION_ATTRIBUTE("ExtFlashSection") = // 170x60 ARGB8888 pixels.
{
0xAA, 0xBB, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xCC, 0xDD, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xEE, 0xFF, 0x00,
and at QSPI address 0x90000000
MAP FILE CONTAINS:
Load Region LR_EROM1 (Base: 0x90000000, Size: 0x00014080, Max: 0x01000000, ABSOLUTE)
Execution Region ER_EROM1 (Exec base: 0x90000000, Load base: 0x90000000, Size: 0x00014080, Max: 0x01000000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x90000000 0x90000000 0x00009f60 Data RO 5921 ExtFlashSection blue_buttons_round_edge_small.o
0x90009f60 0x90009f60 0x00009f60 Data RO 5930 ExtFlashSection blue_buttons_round_edge_small_pressed.o
0x90013ec0 0x90013ec0 0x00000018 Data RO 6057 FontFlashSection font_verdana_10_4bpp_0.o
0x90013ed8 0x90013ed8 0x00000046 Data RO 6066 FontFlashSection font_verdana_20_4bpp_0.o
0x90013f1e 0x90013f1e 0x00000002 PAD
0x90013f20 0x90013f20 0x00000117 Data RO 6075 FontFlashSection font_verdana_40_4bpp_0.o
0x90014037 0x90014037 0x00000001 PAD
0x90014038 0x90014038 0x00000004 Data RO 6579 FontFlashSection kerning_verdana_10_4bpp.o
0x9001403c 0x9001403c 0x00000004 Data RO 6588 FontFlashSection kerning_verdana_20_4bpp.o
0x90014040 0x90014040 0x00000004 Data RO 6597 FontFlashSection kerning_verdana_40_4bpp.o
0x90014044 0x90014044 0x0000000e Data RO 6791 FontFlashSection table_verdana_10_4bpp.o
0x90014052 0x90014052 0x00000002 PAD
0x90014054 0x90014054 0x0000000e Data RO 6811 FontFlashSection table_verdana_20_4bpp.o
0x90014062 0x90014062 0x00000002 PAD
0x90014064 0x90014064 0x0000000e Data RO 6831 FontFlashSection table_verdana_40_4bpp.o
0x90014072 0x90014072 0x00000002 PAD
0x90014074 0x90014074 0x00000002 Data RO 6858 TextFlashSection texts.o
0x90014076 0x90014076 0x00000002 PAD
0x90014078 0x90014078 0x00000002 Data RO 6970 TextFlashSection typedtextdatabase.o
0x9001407a 0x9001407a 0x00000002 PAD
0x9001407c 0x9001407c 0x00000004 Data RO 6971 TextFlashSection typedtextdatabase.o
What's wrong?
2020-02-13 08:02 AM
Additional info
system go to HardFault after string "currentLanguageTypedText=typedTextDatabaseArray[id]; "
2020-02-13 08:46 AM
Problem solved.
I forgot to enable MemoryMapped Mode.
I have enable it and program works
But pictures steel absent on screen...
2020-02-13 09:00 AM
This problem is solved too!
In my course "application tick source" was custom. I set it to "LTDC" and displayl works wery well!
I hope, that this topic will be useful for somebody.
2021-05-27 11:51 PM
I also encountered this problem, and opened memory mapping, and did not display successfully. How did you solve it??