{ "_comment": [ "Behold, these symbols are provided by the bootloader in tintin firmware builds. ", "These symbols are generated into the ldscript so the linker chooses these ", "addresses over ones that are provided by the firmware object files." ], "bootloader_symbols": { "memcpy": "0x08000048", "memset": "0x0800005a", "memchr": "0x0800006a", "strcat": "0x08000086", "strchr": "0x0800009c", "strcmp": "0x080000b2", "strcpy": "0x080000c8", "strlen": "0x080000e0", "strnlen": "0x080000ee", "strspn": "0x08000100", "strtol": "0x0800011c", "atoi": "0x08000140", "atol": "0x08000168", "puts": "0x08000190", "exit": "0x08000194", "strstr": "0x08000196", "strcspn": "0x080001c2", "strncpy": "0x080001e0", "strncmp": "0x08000214", "strrchr": "0x08000232", "strncat": "0x08000252", "memmove": "0x0800027e", "memcmp": "0x080002a2", "vsnprintf": "0x080002bc", "snprintf": "0x08000730", "vsprintf": "0x0800074a", "sprintf": "0x0800075c", "setlocale": "0x08000776", "RCC_ClearFlag": "0x0800077c", "TIM_Cmd": "0x0800078c", "CRC_ResetDR": "0x08000810", "CRC_CalcCRC": "0x0800081c", "CRC_CalcBlockCRC": "0x08000828", "CRC_GetCRC": "0x08000844", "DBGMCU_APB1PeriphConfig": "0x08000850", "FLASH_Unlock": "0x08000868", "FLASH_Lock": "0x08000884", "FLASH_ClearFlag": "0x08000894", "FLASH_GetStatus": "0x080008a0", "FLASH_EraseSector": "0x080008d4", "FLASH_ProgramByte": "0x08000944", "IWDG_WriteAccessCmd": "0x0800097c", "IWDG_SetPrescaler": "0x08000988", "IWDG_SetReload": "0x08000994", "IWDG_ReloadCounter": "0x080009a0", "IWDG_Enable": "0x080009b0", "PWR_BackupAccessCmd": "0x080009c0", "PWR_WakeUpPinCmd": "0x080009cc", "PWR_GetFlagStatus": "0x080009d8", "PWR_ClearFlag": "0x080009ec", "RCC_DeInit": "0x080009fc", "RCC_LSEConfig": "0x08000a30", "RCC_GetClocksFreq": "0x08000a50", "RCC_RTCCLKConfig": "0x08000ad8", "RCC_RTCCLKCmd": "0x08000b08", "RCC_AHB1PeriphClockCmd": "0x08000b14", "RCC_APB1PeriphClockCmd": "0x08000b2c", "RCC_APB2PeriphClockCmd": "0x08000b44", "RCC_AHB1PeriphResetCmd": "0x08000b5c", "RCC_AHB2PeriphResetCmd": "0x08000b74", "RCC_AHB3PeriphResetCmd": "0x08000b8c", "RCC_APB1PeriphResetCmd": "0x08000ba4", "RCC_APB2PeriphResetCmd": "0x08000bbc", "RCC_GetFlagStatus": "0x08000bd4", "RTC_EnterInitMode": "0x08000bfc", "RTC_ExitInitMode": "0x08000c3c", "RTC_Init": "0x08000c4c", "RTC_WaitForSynchro": "0x08000c90", "RTC_SetTime": "0x08000cd4", "RTC_GetTime": "0x08000d64", "RTC_SetDate": "0x08000da8", "RTC_GetDate": "0x08000e2c", "RTC_TimeStampCmd": "0x08000e6c", "RTC_WriteBackupRegister": "0x08000e94", "RTC_ReadBackupRegister": "0x08000eb4", "RTC_TimeStampPinSelection": "0x08000ed4", "RTC_ITConfig": "0x08000eec", "RTC_GetFlagStatus": "0x08000f28", "RTC_ClearFlag": "0x08000f44", "SPI_I2S_DeInit": "0x08000f60", "USART_Init": "0x08000fbc", "FLASH_WaitForLastOperation": "0x0800106c", "GPIO_Init": "0x0800108e", "GPIO_StructInit": "0x0800110e", "GPIO_ReadInputDataBit": "0x08001120", "GPIO_SetBits": "0x0800112c", "GPIO_ResetBits": "0x08001130", "GPIO_WriteBit": "0x08001134", "GPIO_PinAFConfig": "0x0800113e", "RTC_ByteToBcd2": "0x08001162", "RTC_Bcd2ToByte": "0x0800117c", "RTC_StructInit": "0x0800118e", "RTC_TimeStructInit": "0x0800119a", "RTC_DateStructInit": "0x080011a6", "SPI_Init": "0x080011b4", "SPI_Cmd": "0x080011f2", "SPI_I2S_ReceiveData": "0x0800120a", "SPI_I2S_SendData": "0x08001210", "SPI_I2S_GetFlagStatus": "0x08001214", "USART_Cmd": "0x08001220", "USART_SendData": "0x08001238", "USART_GetFlagStatus": "0x08001240", "__ctype_data": "0x0800124c", "__aeabi_uldivmod": "0x0800134c", "__gnu_ldivmod_helper": "0x08001378", "__gnu_uldivmod_helper": "0x080013a8", "__aeabi_idiv0": "0x080013d8", "__aeabi_ldiv0": "0x080013d8", "__divdi3": "0x080013dc", "__udivdi3": "0x0800167c" } }