47 lines
2.0 KiB
Plaintext
Raw Normal View History

2020-03-20 13:28:36 +08:00
Creating a new Algorithm
------------------------
Flash programming algorithms are defined with functions to erase and program
the Flash device. Special compiler and linker settings are required. Follow
these steps to create and configure a new Flash programming algorithm:
- From the toolbar, use the drop-down Select Target to define the processor
architecture. Cortex-M fits for all Arm Cortex-M0/M0+/M3/M4/M7 devices.
The configuration assumes a little-endian microcontroller. In case of a
big-endian microcontroller, select the correct processor core with
Project - Options for Target - Device.
- Open the dialog Project - Options for Target - Output and change the content
of the field Name of Executable to represent the device, for example
MyDevice.
- Adapt the programming algorithms in the file FlashPrg.c
- Adapt the device parameters in the file FlashDev.c
- Use Project - Build Target to generate the new Flash programming algorithm.
The output file (for example MyDevice.FLM) has to be added to the DFP.
Note
----
- Creating a Flash programming algorithm with MDK-Lite is not supported.
- Flash programming algorithms use Read-Only Position Independent and
Read-Write Position Independent program code. These options are set in the
dialogs Project - Options for Target - C/C++ and
Project - Options for Target - Asm.
- The dialog Project - Options for Target - Linker defines the linker scatter
file Target.lin. The error L6305 is disabled with <20>diag_suppress L6305.
For more information, refer to the documentation available at
http://arm-software.github.io/CMSIS_5/Pack/html/flashAlgorithm.html
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F767 <20><><EFBFBD>İ<EFBFBD> QSPI W25QXX<58><58><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><E3B7A8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>FLM<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>keil<EFBFBD><EFBFBD>װĿ¼<EFBFBD><EFBFBD>flash<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ע<EFBFBD>
1<EFBFBD><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫһ<D2AA><D2BB>
2<EFBFBD><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FlashDev.c<>е<EFBFBD>FlashDevice<63><65><EFBFBD><EFBFBD>W25QXX<58><58>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С(Device Size in Bytes)
3: ע<><D7A2><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>FLMʱ<4D><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> insufficient RAM for Flash Algorithms.
<EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :
Project->Options->Utilities->...Settings-><3E><>RAM for Algorithm <20><> size = 0x8000 <--<2D>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD><EFBFBD>