- #include "flash_blob.h"
- static const uint32_t flash_code[] = {
- 0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA, 0x2A001E52, 0x4770D1F2,
- 0x4770BA40, 0x4770BA40, 0x4770BA40, 0x4770BA40, 0x4770BAC0, 0x4770BAC0, 0x4770BAC0, 0x4770BAC0,
- 0x0030EA4F, 0x00004770, 0x0030EA4F, 0x00004770, 0x0030EA4F, 0x00004770, 0x0030EA4F, 0xB5104770,
- 0x46234604, 0x21082203, 0xF00006C8, 0xBD10FA2C, 0x4604B510, 0x22044623, 0x07082114, 0xFA23F000,
- 0x0000BD10, 0x4604B510, 0x22084623, 0x48022111, 0xFA19F000, 0x0000BD10, 0x40008890, 0x4604B510,
- 0x22024623, 0x4802211C, 0xFA0DF000, 0x0000BD10, 0x40008890, 0x4604B510, 0x22024623, 0x4802211E,
- 0xFA01F000, 0x0000BD10, 0x40008890, 0x4604B510, 0x22044623, 0x07104611, 0xF9F5F000, 0xB510BD10,
- 0x46234604, 0x21002202, 0xF0000750, 0xBD10F9EC, 0x20024601, 0x6F00F1B1, 0x4A02D302, 0xD9004291,
- 0x47702011, 0x08040000, 0x69004803, 0x0002F040, 0x61084901, 0x00004770, 0x40002000, 0x2402B570,
- 0xF44F2500, 0xF0000020, 0x4604F919, 0xD1222C02, 0x7581F44F, 0xF0004628, 0xF000F8BB, 0xF44FF8CD,
- 0xF0000020, 0x4604F90B, 0xD1152C02, 0x0020F44F, 0xF8F2F000, 0x2C024604, 0xF7FFD10B, 0xBF00FFD5,
- 0x69004806, 0x0040F000, 0x240CB108, 0x2402E004, 0x2404E002, 0x2404E000, 0xBD704620, 0x40002000,
- 0x4605B570, 0x26002402, 0xF7FF4628, 0x4604FFB1, 0xD12D2C02, 0x0020F44F, 0xF8E0F000, 0x2C024604,
- 0x4628D125, 0xF890F000, 0x1601F240, 0xF0004630, 0xF000F87F, 0xF44FF891, 0xF0000020, 0x4604F8CF,
- 0xD1152C02, 0x0020F44F, 0xF8C8F000, 0x2C024604, 0xF7FFD10B, 0xBF00FF99, 0x69004806, 0x0040F000,
- 0x240CB108, 0x2402E004, 0x2404E002, 0x2404E000, 0xBD704620, 0x40002000, 0x47F0E92D, 0x46884607,
- 0x24024615, 0x0A00F04F, 0x46382600, 0xFF70F7FF, 0x2C024604, 0xF5B5D142, 0xD9027F00, 0xE8BD2007,
- 0xF44F87F0, 0xF0000020, 0x4604F899, 0xD1332C02, 0xF0004638, 0x01E0F849, 0x4005EA40, 0x0A03F100,
- 0xF0004650, 0xF000F835, 0x2600F847, 0xF858E004, 0x60380026, 0x1C761D3F, 0xD3F842AE, 0x0020F44F,
- 0xF87CF000, 0x2C024604, 0xF44FD114, 0xF0000020, 0x4604F863, 0xD10B2C02, 0xFF46F7FF, 0x4809BF00,
- 0xF0006900, 0xB1080020, 0xE008240B, 0xE0062402, 0xE0042404, 0xE0022404, 0xE0002404, 0x46202411,
- 0x0000E7BD, 0x40002000, 0x68084601, 0x00004770, 0x60C84901, 0x00004770, 0x40002000, 0x60084901,
- 0x00004770, 0x40002000, 0x0113F3C0, 0x60914A01, 0x00004770, 0x40002000, 0x68C04803, 0x0010F040,
- 0x60C84901, 0x00004770, 0x40002000, 0x2502B570, 0x24002600, 0x480DBF00, 0x0FC06840, 0xE00F4606,
- 0xF7FF480B, 0x480BFFDB, 0xFFD8F7FF, 0xD9012C64, 0xE0072510, 0x4805BF00, 0x0FC06840, 0x1C644606,
- 0xD0ED2E01, 0x4628BF00, 0x0000BD70, 0x40002000, 0x00AC7811, 0x01234567, 0x20024601, 0x1E49E000,
- 0x4A05BF00, 0xF3C26912, 0xB90A0240, 0xD1F62900, 0x2010B901, 0x00004770, 0x40002000, 0x20024601,
- 0x1E49E000, 0x4A05BF00, 0xF0026912, 0xB10A0201, 0xD1F62900, 0x2010B901, 0x00004770, 0x40002000,
- 0x2402B510, 0xFECAF7FF, 0x2C024604, 0x2001D001, 0x2000BD10, 0xB570E7FC, 0x25024604, 0xF7FF4620,
- 0x4605FEEF, 0xD0012D02, 0xBD702001, 0xE7FC2000, 0x4604B570, 0x4616460D, 0x68404808, 0x0001F000,
- 0x2001B108, 0xF000BD70, 0xF7FFF872, 0xF44FFF8F, 0x49023080, 0x20006408, 0x0000E7F4, 0x40002000,
- 0x41F0E92D, 0x460C4606, 0x27024615, 0x462908A2, 0xF7FF4630, 0x4607FF01, 0xD0022F02, 0xE8BD2001,
- 0x200081F0, 0x0000E7FB, 0x20004601, 0x68524A06, 0x6200F042, 0x605A4B04, 0x4A03BF00, 0xF0026852,
- 0x28004080, 0x4770D0F9, 0x40008000, 0x4810E004, 0x60084910, 0x60084810, 0x6840480E, 0x4000F000,
- 0xD1F42800, 0x490B480D, 0xBF006148, 0x69404809, 0x3000F400, 0xD1F92800, 0x69404806, 0x7080F440,
- 0x61484904, 0x68404608, 0x4000F040, 0x47706048, 0x00AC7811, 0x40002000, 0x01234567, 0x00013062,
- 0x2000B510, 0xFDF4F7FF, 0xF7FF2000, 0x2002FE13, 0xFE04F7FF, 0xF7FF2060, 0x2001FDF5, 0xFFB4F7FF,
- 0xF7FF2000, 0x2001FE13, 0xFE19F7FF, 0xB510BD10, 0xFFBCF7FF, 0xFFE4F7FF, 0xF7FF2004, 0xBD10FDD0,
- 0x20004601, 0xB5704770, 0x68024614, 0x40A62601, 0xFA061E76, 0x43AAF501, 0xF601FA03, 0x4332402E,
- 0xBD706002, 0x00000000
- };
- const program_target_t flash_algo = {
- 0x200003B1, // Init
- 0x200004C1, // UnInit
- 0x20000381, // EraseChip
- 0x20000397, // EraseSector
- 0x200003E1, // ProgramPage
- // BKPT : start of blob + 1
- // RSB : address to access global/static data
- // RSP : stack pointer
- {
- 0x20000001,
- 0x20001000,
- 0x20001400
- },
- 0x20000800, // mem buffer location
- 0x20000000, // location to write prog_blob in target RAM
- sizeof(flash_code), // prog_blob size
- flash_code, // address of prog_blob
- 0x00000800, // ram_to_flash_bytes_to_be_written
- };
上面是生成的c文件,里面包含了函数地址,flash code,栈地址等。
附件是python脚本以及我用于测试的flm文件。
Python.rar
(16.89 KB, 下载次数: 66)
同时附上github链接:https://github.com/XIVN1987/DAPProg,将里面的stm32算法换成ac781x的,同时把IO口配置一下,你也可以自制一个烧录器了。