添加gc0307 sccb驱动
parent
c9c6a81ba7
commit
304ae068dc
|
@ -0,0 +1,97 @@
|
||||||
|
// <<< Use Configuration Wizard in Context Menu >>>
|
||||||
|
// <h> Debug MCU Configuration
|
||||||
|
// <o0.0> DBG_SLEEP
|
||||||
|
// <i> Debug Sleep Mode
|
||||||
|
// <i> 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled
|
||||||
|
// <i> 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK
|
||||||
|
// <o0.1> DBG_STOP
|
||||||
|
// <i> Debug Stop Mode
|
||||||
|
// <i> 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks
|
||||||
|
// <i> 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active
|
||||||
|
// <o0.2> DBG_STANDBY
|
||||||
|
// <i> Debug Standby Mode
|
||||||
|
// <i> 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered.
|
||||||
|
// <i> 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active
|
||||||
|
// <o0.8> DBG_IWDG_STOP
|
||||||
|
// <i> Debug independent watchdog stopped when core is halted
|
||||||
|
// <i> 0: The watchdog counter clock continues even if the core is halted
|
||||||
|
// <i> 1: The watchdog counter clock is stopped when the core is halted
|
||||||
|
// <o0.9> DBG_WWDG_STOP
|
||||||
|
// <i> Debug window watchdog stopped when core is halted
|
||||||
|
// <i> 0: The window watchdog counter clock continues even if the core is halted
|
||||||
|
// <i> 1: The window watchdog counter clock is stopped when the core is halted
|
||||||
|
// <o0.10> DBG_TIM1_STOP
|
||||||
|
// <i> Timer 1 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
|
||||||
|
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
|
||||||
|
// <o0.11> DBG_TIM2_STOP
|
||||||
|
// <i> Timer 2 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
|
||||||
|
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
|
||||||
|
// <o0.12> DBG_TIM3_STOP
|
||||||
|
// <i> Timer 3 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
|
||||||
|
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
|
||||||
|
// <o0.13> DBG_TIM4_STOP
|
||||||
|
// <i> Timer 4 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
|
||||||
|
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
|
||||||
|
// <o0.14> DBG_CAN1_STOP
|
||||||
|
// <i> Debug CAN1 stopped when Core is halted
|
||||||
|
// <i> 0: Same behavior as in normal mode
|
||||||
|
// <i> 1: CAN1 receive registers are frozen
|
||||||
|
// <o0.15> DBG_I2C1_SMBUS_TIMEOUT
|
||||||
|
// <i> I2C1 SMBUS timeout mode stopped when Core is halted
|
||||||
|
// <i> 0: Same behavior as in normal mode
|
||||||
|
// <i> 1: The SMBUS timeout is frozen
|
||||||
|
// <o0.16> DBG_I2C2_SMBUS_TIMEOUT
|
||||||
|
// <i> I2C2 SMBUS timeout mode stopped when Core is halted
|
||||||
|
// <i> 0: Same behavior as in normal mode
|
||||||
|
// <i> 1: The SMBUS timeout is frozen
|
||||||
|
// <o0.17> DBG_TIM8_STOP
|
||||||
|
// <i> Timer 8 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.18> DBG_TIM5_STOP
|
||||||
|
// <i> Timer 5 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.19> DBG_TIM6_STOP
|
||||||
|
// <i> Timer 6 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.20> DBG_TIM7_STOP
|
||||||
|
// <i> Timer 7 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.21> DBG_CAN2_STOP
|
||||||
|
// <i> Debug CAN2 stopped when Core is halted
|
||||||
|
// <i> 0: Same behavior as in normal mode
|
||||||
|
// <i> 1: CAN2 receive registers are frozen
|
||||||
|
// <o0.25> DBG_TIM12_STOP
|
||||||
|
// <i> Timer 12 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.26> DBG_TIM13_STOP
|
||||||
|
// <i> Timer 13 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.27> DBG_TIM14_STOP
|
||||||
|
// <i> Timer 14 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.28> DBG_TIM9_STOP
|
||||||
|
// <i> Timer 9 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.29> DBG_TIM10_STOP
|
||||||
|
// <i> Timer 10 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// <o0.30> DBG_TIM11_STOP
|
||||||
|
// <i> Timer 11 counter stopped when core is halted
|
||||||
|
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
|
||||||
|
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
|
||||||
|
// </h>
|
||||||
|
DbgMCU_CR = 0x00000007;
|
||||||
|
// <<< end of configuration section >>>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
|
||||||
|
|
||||||
|
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
|
||||||
|
<events>
|
||||||
|
</events>
|
||||||
|
|
||||||
|
</component_viewer>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,882 @@
|
||||||
|
Component: ARM Compiler 5.06 update 6 (build 750) Tool: armlink [4d35ed]
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Section Cross References
|
||||||
|
|
||||||
|
main.o(i.I2C1_Init) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd) for RCC_APB1PeriphClockCmd
|
||||||
|
main.o(i.I2C1_Init) refers to stm32f10x_i2c.o(i.I2C_DeInit) for I2C_DeInit
|
||||||
|
main.o(i.I2C1_Init) refers to stm32f10x_i2c.o(i.I2C_Init) for I2C_Init
|
||||||
|
main.o(i.I2C1_Init) refers to stm32f10x_i2c.o(i.I2C_Cmd) for I2C_Cmd
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_AcknowledgeConfig) for I2C_AcknowledgeConfig
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_GenerateSTART) for I2C_GenerateSTART
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_CheckEvent) for I2C_CheckEvent
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_Send7bitAddress) for I2C_Send7bitAddress
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_SendData) for I2C_SendData
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_GenerateSTOP) for I2C_GenerateSTOP
|
||||||
|
main.o(i.I2C1_Read) refers to stm32f10x_i2c.o(i.I2C_ReceiveData) for I2C_ReceiveData
|
||||||
|
main.o(i.I2C_GPIO_Config) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
|
||||||
|
main.o(i.I2C_GPIO_Config) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
|
||||||
|
main.o(i.RCC_Configuration) refers to system_stm32f10x.o(i.SystemInit) for SystemInit
|
||||||
|
main.o(i.main) refers to main.o(i.RCC_Configuration) for RCC_Configuration
|
||||||
|
main.o(i.main) refers to main.o(i.I2C_GPIO_Config) for I2C_GPIO_Config
|
||||||
|
main.o(i.main) refers to main.o(i.I2C1_Init) for I2C1_Init
|
||||||
|
main.o(i.main) refers to main.o(i.I2C1_Read) for I2C1_Read
|
||||||
|
i2c_ee.o(i.GPIO_Configuration) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
|
||||||
|
i2c_ee.o(i.I2C_Configuration) refers to stm32f10x_i2c.o(i.I2C_Cmd) for I2C_Cmd
|
||||||
|
i2c_ee.o(i.I2C_Configuration) refers to stm32f10x_i2c.o(i.I2C_Init) for I2C_Init
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_GetFlagStatus) for I2C_GetFlagStatus
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_GenerateSTART) for I2C_GenerateSTART
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_CheckEvent) for I2C_CheckEvent
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_Send7bitAddress) for I2C_Send7bitAddress
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_Cmd) for I2C_Cmd
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_SendData) for I2C_SendData
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_AcknowledgeConfig) for I2C_AcknowledgeConfig
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_GenerateSTOP) for I2C_GenerateSTOP
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferRead) refers to stm32f10x_i2c.o(i.I2C_ReceiveData) for I2C_ReceiveData
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferWrite) refers to i2c_ee.o(i.I2C_EE_PageWrite) for I2C_EE_PageWrite
|
||||||
|
i2c_ee.o(i.I2C_EE_BufferWrite) refers to i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) for I2C_EE_WaitEepromStandbyState
|
||||||
|
i2c_ee.o(i.I2C_EE_ByteWrite) refers to stm32f10x_i2c.o(i.I2C_GenerateSTART) for I2C_GenerateSTART
|
||||||
|
i2c_ee.o(i.I2C_EE_ByteWrite) refers to stm32f10x_i2c.o(i.I2C_CheckEvent) for I2C_CheckEvent
|
||||||
|
i2c_ee.o(i.I2C_EE_ByteWrite) refers to stm32f10x_i2c.o(i.I2C_Send7bitAddress) for I2C_Send7bitAddress
|
||||||
|
i2c_ee.o(i.I2C_EE_ByteWrite) refers to stm32f10x_i2c.o(i.I2C_SendData) for I2C_SendData
|
||||||
|
i2c_ee.o(i.I2C_EE_ByteWrite) refers to stm32f10x_i2c.o(i.I2C_GenerateSTOP) for I2C_GenerateSTOP
|
||||||
|
i2c_ee.o(i.I2C_EE_ByteWrite) refers to i2c_ee.o(.data) for EEPROM_ADDRESS
|
||||||
|
i2c_ee.o(i.I2C_EE_Init) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd) for RCC_APB1PeriphClockCmd
|
||||||
|
i2c_ee.o(i.I2C_EE_Init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
|
||||||
|
i2c_ee.o(i.I2C_EE_Init) refers to i2c_ee.o(i.GPIO_Configuration) for GPIO_Configuration
|
||||||
|
i2c_ee.o(i.I2C_EE_Init) refers to i2c_ee.o(i.I2C_Configuration) for I2C_Configuration
|
||||||
|
i2c_ee.o(i.I2C_EE_Init) refers to i2c_ee.o(.data) for EEPROM_ADDRESS
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to stm32f10x_i2c.o(i.I2C_GetFlagStatus) for I2C_GetFlagStatus
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to stm32f10x_i2c.o(i.I2C_GenerateSTART) for I2C_GenerateSTART
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to stm32f10x_i2c.o(i.I2C_CheckEvent) for I2C_CheckEvent
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to stm32f10x_i2c.o(i.I2C_Send7bitAddress) for I2C_Send7bitAddress
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to stm32f10x_i2c.o(i.I2C_SendData) for I2C_SendData
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to stm32f10x_i2c.o(i.I2C_GenerateSTOP) for I2C_GenerateSTOP
|
||||||
|
i2c_ee.o(i.I2C_EE_PageWrite) refers to i2c_ee.o(.data) for EEPROM_ADDRESS
|
||||||
|
i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) refers to stm32f10x_i2c.o(i.I2C_GenerateSTART) for I2C_GenerateSTART
|
||||||
|
i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) refers to stm32f10x_i2c.o(i.I2C_ReadRegister) for I2C_ReadRegister
|
||||||
|
i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) refers to stm32f10x_i2c.o(i.I2C_Send7bitAddress) for I2C_Send7bitAddress
|
||||||
|
i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) refers to stm32f10x_i2c.o(i.I2C_ClearFlag) for I2C_ClearFlag
|
||||||
|
i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) refers to stm32f10x_i2c.o(i.I2C_GenerateSTOP) for I2C_GenerateSTOP
|
||||||
|
i2c_ee.o(i.I2C_EE_WaitEepromStandbyState) refers to i2c_ee.o(.data) for EEPROM_ADDRESS
|
||||||
|
stm32f10x_i2c.o(i.I2C_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
|
||||||
|
stm32f10x_i2c.o(i.I2C_Init) refers to stm32f10x_rcc.o(i.RCC_GetClocksFreq) for RCC_GetClocksFreq
|
||||||
|
stm32f10x_rcc.o(i.RCC_GetClocksFreq) refers to stm32f10x_rcc.o(.data) for APBAHBPrescTable
|
||||||
|
stm32f10x_rcc.o(i.RCC_WaitForHSEStartUp) refers to stm32f10x_rcc.o(i.RCC_GetFlagStatus) for RCC_GetFlagStatus
|
||||||
|
startup_stm32f10x_md.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
|
||||||
|
startup_stm32f10x_md.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
|
||||||
|
startup_stm32f10x_md.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.NMI_Handler) for NMI_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.HardFault_Handler) for HardFault_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.MemManage_Handler) for MemManage_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.BusFault_Handler) for BusFault_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.UsageFault_Handler) for UsageFault_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.SVC_Handler) for SVC_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.DebugMon_Handler) for DebugMon_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.PendSV_Handler) for PendSV_Handler
|
||||||
|
startup_stm32f10x_md.o(RESET) refers to stm32f10x_it.o(i.SysTick_Handler) for SysTick_Handler
|
||||||
|
startup_stm32f10x_md.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
|
||||||
|
startup_stm32f10x_md.o(.text) refers to system_stm32f10x.o(i.SystemInit) for SystemInit
|
||||||
|
startup_stm32f10x_md.o(.text) refers to __main.o(!!!main) for __main
|
||||||
|
startup_stm32f10x_md.o(.text) refers to startup_stm32f10x_md.o(HEAP) for Heap_Mem
|
||||||
|
startup_stm32f10x_md.o(.text) refers to startup_stm32f10x_md.o(STACK) for Stack_Mem
|
||||||
|
system_stm32f10x.o(i.SetSysClock) refers to system_stm32f10x.o(i.SetSysClockTo72) for SetSysClockTo72
|
||||||
|
system_stm32f10x.o(i.SystemCoreClockUpdate) refers to system_stm32f10x.o(.data) for SystemCoreClock
|
||||||
|
system_stm32f10x.o(i.SystemInit) refers to system_stm32f10x.o(i.SetSysClock) for SetSysClock
|
||||||
|
stm32f10x_gpio.o(i.GPIO_AFIODeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
|
||||||
|
stm32f10x_gpio.o(i.GPIO_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
|
||||||
|
gpio_stm32f10x.o(i.GPIO_PinConfigure) refers to gpio_stm32f10x.o(i.GPIO_GetPortClockState) for GPIO_GetPortClockState
|
||||||
|
gpio_stm32f10x.o(i.GPIO_PinConfigure) refers to gpio_stm32f10x.o(i.GPIO_PortClock) for GPIO_PortClock
|
||||||
|
__main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
|
||||||
|
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
|
||||||
|
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main
|
||||||
|
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) for __rt_entry_postli_1
|
||||||
|
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1
|
||||||
|
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1
|
||||||
|
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh
|
||||||
|
__rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init
|
||||||
|
__rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init
|
||||||
|
__rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init
|
||||||
|
__rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to main.o(i.main) for main
|
||||||
|
__rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to exit.o(.text) for exit
|
||||||
|
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000001) for .ARM.Collect$$rtentry$$00000001
|
||||||
|
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000008) for .ARM.Collect$$rtentry$$00000008
|
||||||
|
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for .ARM.Collect$$rtentry$$0000000A
|
||||||
|
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) for .ARM.Collect$$rtentry$$0000000B
|
||||||
|
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D
|
||||||
|
__rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap
|
||||||
|
__rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004
|
||||||
|
sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace
|
||||||
|
sys_stackheap_outer.o(.text) refers to startup_stm32f10x_md.o(.text) for __user_initial_stackheap
|
||||||
|
exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002E) for __rt_lib_init_alloca_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002C) for __rt_lib_init_argv_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001B) for __rt_lib_init_atexit_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000021) for __rt_lib_init_clock_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000032) for __rt_lib_init_cpp_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000030) for __rt_lib_init_exceptions_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000002) for __rt_lib_init_fp_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001F) for __rt_lib_init_fp_trap_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000023) for __rt_lib_init_getenv_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000A) for __rt_lib_init_heap_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000011) for __rt_lib_init_lc_collate_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000013) for __rt_lib_init_lc_ctype_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000015) for __rt_lib_init_lc_monetary_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000017) for __rt_lib_init_lc_numeric_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000019) for __rt_lib_init_lc_time_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000004) for __rt_lib_init_preinit_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000E) for __rt_lib_init_rand_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000033) for __rt_lib_init_return
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001D) for __rt_lib_init_signal_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000025) for __rt_lib_init_stdio_1
|
||||||
|
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000C) for __rt_lib_init_user_alloc_1
|
||||||
|
libspace.o(.text) refers to libspace.o(.bss) for __libspace_start
|
||||||
|
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
|
||||||
|
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
|
||||||
|
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
|
||||||
|
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
|
||||||
|
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
|
||||||
|
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
|
||||||
|
rtexit.o(.ARM.exidx) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for .ARM.Collect$$rtexit$$00000000
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000010) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000012) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000014) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000016) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000018) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000026) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer
|
||||||
|
libinit2.o(.ARM.Collect$$libinit$$00000027) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer
|
||||||
|
rtexit2.o(.ARM.Collect$$rtexit$$00000003) refers to libshutdown.o(.ARM.Collect$$libshutdown$$00000000) for __rt_lib_shutdown
|
||||||
|
rtexit2.o(.ARM.Collect$$rtexit$$00000004) refers to sys_exit.o(.text) for _sys_exit
|
||||||
|
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000001) for .ARM.Collect$$rtexit$$00000001
|
||||||
|
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for .ARM.Collect$$rtexit$$00000003
|
||||||
|
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for .ARM.Collect$$rtexit$$00000004
|
||||||
|
argv_veneer.o(.emb_text) refers to no_argv.o(.text) for __ARM_get_argv
|
||||||
|
sys_exit.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
|
||||||
|
sys_exit.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
|
||||||
|
_get_argv_nomalloc.o(.text) refers (Special) to hrguard.o(.text) for __heap_region$guard
|
||||||
|
_get_argv_nomalloc.o(.text) refers to defsig_rtmem_outer.o(.text) for __rt_SIGRTMEM
|
||||||
|
_get_argv_nomalloc.o(.text) refers to sys_command.o(.text) for _sys_command_string
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) for __rt_lib_shutdown_cpp_1
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) for __rt_lib_shutdown_fp_trap_1
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) for __rt_lib_shutdown_heap_1
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) for __rt_lib_shutdown_return
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) for __rt_lib_shutdown_signal_1
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) for __rt_lib_shutdown_stdio_1
|
||||||
|
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) for __rt_lib_shutdown_user_alloc_1
|
||||||
|
sys_command.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
|
||||||
|
sys_command.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
|
||||||
|
defsig_rtmem_outer.o(.text) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
|
||||||
|
defsig_rtmem_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit
|
||||||
|
defsig_rtmem_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise
|
||||||
|
rt_raise.o(.text) refers to __raise.o(.text) for __raise
|
||||||
|
rt_raise.o(.text) refers to sys_exit.o(.text) for _sys_exit
|
||||||
|
defsig_exit.o(.text) refers to sys_exit.o(.text) for _sys_exit
|
||||||
|
defsig_rtmem_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
__raise.o(.text) refers to defsig.o(CL$$defsig) for __default_signal_handler
|
||||||
|
defsig_general.o(.text) refers to sys_wrch.o(.text) for _ttywrch
|
||||||
|
sys_wrch.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
|
||||||
|
sys_wrch.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
|
||||||
|
defsig.o(CL$$defsig) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
|
||||||
|
defsig_abrt_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_fpe_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_rtred_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_stak_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_pvfn_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_cppl_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_segv_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
defsig_other.o(.text) refers to defsig_general.o(.text) for __default_signal_display
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Removing Unused input sections from the image.
|
||||||
|
|
||||||
|
Removing stm32f10x_it.o(.rev16_text), (4 bytes).
|
||||||
|
Removing stm32f10x_it.o(.revsh_text), (4 bytes).
|
||||||
|
Removing stm32f10x_it.o(.rrx_text), (6 bytes).
|
||||||
|
Removing main.o(.rev16_text), (4 bytes).
|
||||||
|
Removing main.o(.revsh_text), (4 bytes).
|
||||||
|
Removing main.o(.rrx_text), (6 bytes).
|
||||||
|
Removing main.o(i.Buffercmp), (36 bytes).
|
||||||
|
Removing main.o(.bss), (44 bytes).
|
||||||
|
Removing main.o(.data), (48 bytes).
|
||||||
|
Removing i2c_ee.o(.rev16_text), (4 bytes).
|
||||||
|
Removing i2c_ee.o(.revsh_text), (4 bytes).
|
||||||
|
Removing i2c_ee.o(.rrx_text), (6 bytes).
|
||||||
|
Removing i2c_ee.o(i.GPIO_Configuration), (36 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_Configuration), (64 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_EE_BufferRead), (224 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_EE_BufferWrite), (336 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_EE_ByteWrite), (128 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_EE_Init), (40 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_EE_PageWrite), (160 bytes).
|
||||||
|
Removing i2c_ee.o(i.I2C_EE_WaitEepromStandbyState), (84 bytes).
|
||||||
|
Removing i2c_ee.o(.data), (2 bytes).
|
||||||
|
Removing misc.o(.rev16_text), (4 bytes).
|
||||||
|
Removing misc.o(.revsh_text), (4 bytes).
|
||||||
|
Removing misc.o(.rrx_text), (6 bytes).
|
||||||
|
Removing misc.o(i.NVIC_Init), (112 bytes).
|
||||||
|
Removing misc.o(i.NVIC_PriorityGroupConfig), (20 bytes).
|
||||||
|
Removing misc.o(i.NVIC_SetVectorTable), (20 bytes).
|
||||||
|
Removing misc.o(i.NVIC_SystemLPConfig), (32 bytes).
|
||||||
|
Removing misc.o(i.SysTick_CLKSourceConfig), (40 bytes).
|
||||||
|
Removing stm32f10x_dbgmcu.o(.rev16_text), (4 bytes).
|
||||||
|
Removing stm32f10x_dbgmcu.o(.revsh_text), (4 bytes).
|
||||||
|
Removing stm32f10x_dbgmcu.o(.rrx_text), (6 bytes).
|
||||||
|
Removing stm32f10x_dbgmcu.o(i.DBGMCU_Config), (32 bytes).
|
||||||
|
Removing stm32f10x_dbgmcu.o(i.DBGMCU_GetDEVID), (16 bytes).
|
||||||
|
Removing stm32f10x_dbgmcu.o(i.DBGMCU_GetREVID), (12 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(.rev16_text), (4 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(.revsh_text), (4 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(.rrx_text), (6 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_ARPCmd), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_CalculatePEC), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_ClearFlag), (12 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_ClearITPendingBit), (12 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_DMACmd), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_DMALastTransferCmd), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_DualAddressCmd), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_FastModeDutyCycleConfig), (28 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_GeneralCallCmd), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_GetFlagStatus), (58 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_GetITStatus), (38 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_GetLastEvent), (26 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_GetPEC), (8 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_ITConfig), (18 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_NACKPositionConfig), (28 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_OwnAddress2Config), (22 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_PECPositionConfig), (28 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_ReadRegister), (22 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_SMBusAlertConfig), (28 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_SoftwareResetCmd), (22 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_StretchClockCmd), (24 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_StructInit), (30 bytes).
|
||||||
|
Removing stm32f10x_i2c.o(i.I2C_TransmitPEC), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(.rev16_text), (4 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(.revsh_text), (4 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(.rrx_text), (6 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_ADCCLKConfig), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_AHBPeriphClockCmd), (32 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd), (32 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_AdjustHSICalibrationValue), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_BackupResetCmd), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_ClearFlag), (20 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_ClearITPendingBit), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_ClockSecuritySystemCmd), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_DeInit), (76 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_GetFlagStatus), (60 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_GetITStatus), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_GetSYSCLKSource), (16 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_HCLKConfig), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_HSEConfig), (76 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_HSICmd), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_ITConfig), (32 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_LSEConfig), (52 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_LSICmd), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_MCOConfig), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_PCLK1Config), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_PCLK2Config), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_PLLCmd), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_PLLConfig), (28 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_RTCCLKCmd), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_RTCCLKConfig), (16 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_SYSCLKConfig), (24 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_USBCLKConfig), (12 bytes).
|
||||||
|
Removing stm32f10x_rcc.o(i.RCC_WaitForHSEStartUp), (56 bytes).
|
||||||
|
Removing system_stm32f10x.o(.rev16_text), (4 bytes).
|
||||||
|
Removing system_stm32f10x.o(.revsh_text), (4 bytes).
|
||||||
|
Removing system_stm32f10x.o(.rrx_text), (6 bytes).
|
||||||
|
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
|
||||||
|
Removing system_stm32f10x.o(.data), (20 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(.rev16_text), (4 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(.revsh_text), (4 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(.rrx_text), (6 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_AFIODeInit), (20 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_DeInit), (200 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_ETH_MediaInterfaceConfig), (12 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_EXTILineConfig), (64 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_EventOutputCmd), (12 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_EventOutputConfig), (32 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_PinLockConfig), (18 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_PinRemapConfig), (144 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_ReadInputData), (8 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_ReadInputDataBit), (18 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_ReadOutputData), (8 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_ReadOutputDataBit), (18 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_ResetBits), (4 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_SetBits), (4 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_StructInit), (16 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_Write), (4 bytes).
|
||||||
|
Removing stm32f10x_gpio.o(i.GPIO_WriteBit), (10 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(.rev16_text), (4 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(.revsh_text), (4 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(.rrx_text), (6 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(i.GPIO_AFConfigure), (156 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(i.GPIO_GetPortClockState), (152 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(i.GPIO_PinConfigure), (120 bytes).
|
||||||
|
Removing gpio_stm32f10x.o(i.GPIO_PortClock), (316 bytes).
|
||||||
|
|
||||||
|
124 unused section(s) (total 4490 bytes) removed from the image.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Image Symbol Table
|
||||||
|
|
||||||
|
Local Symbols
|
||||||
|
|
||||||
|
Symbol Name Value Ov Type Size Object(Section)
|
||||||
|
|
||||||
|
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE
|
||||||
|
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE
|
||||||
|
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
|
||||||
|
../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE
|
||||||
|
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE
|
||||||
|
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE
|
||||||
|
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE
|
||||||
|
../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE
|
||||||
|
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE
|
||||||
|
../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE
|
||||||
|
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE
|
||||||
|
../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE
|
||||||
|
../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE
|
||||||
|
../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE
|
||||||
|
../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE
|
||||||
|
../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE
|
||||||
|
../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE
|
||||||
|
../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE
|
||||||
|
../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE
|
||||||
|
../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE
|
||||||
|
../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE
|
||||||
|
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
|
||||||
|
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
|
||||||
|
../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE
|
||||||
|
../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE
|
||||||
|
../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE
|
||||||
|
../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE
|
||||||
|
../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE
|
||||||
|
../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE
|
||||||
|
../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE
|
||||||
|
../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE
|
||||||
|
../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE
|
||||||
|
../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE
|
||||||
|
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
|
||||||
|
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
|
||||||
|
D:\\keil_arm_pack\\Keil\\STM32F1xx_DFP\\2.2.0\\Device\\StdPeriph_Driver\\src\\misc.c 0x00000000 Number 0 misc.o ABSOLUTE
|
||||||
|
D:\\keil_arm_pack\\Keil\\STM32F1xx_DFP\\2.2.0\\Device\\StdPeriph_Driver\\src\\stm32f10x_dbgmcu.c 0x00000000 Number 0 stm32f10x_dbgmcu.o ABSOLUTE
|
||||||
|
D:\\keil_arm_pack\\Keil\\STM32F1xx_DFP\\2.2.0\\Device\\StdPeriph_Driver\\src\\stm32f10x_gpio.c 0x00000000 Number 0 stm32f10x_gpio.o ABSOLUTE
|
||||||
|
D:\\keil_arm_pack\\Keil\\STM32F1xx_DFP\\2.2.0\\Device\\StdPeriph_Driver\\src\\stm32f10x_i2c.c 0x00000000 Number 0 stm32f10x_i2c.o ABSOLUTE
|
||||||
|
D:\\keil_arm_pack\\Keil\\STM32F1xx_DFP\\2.2.0\\Device\\StdPeriph_Driver\\src\\stm32f10x_rcc.c 0x00000000 Number 0 stm32f10x_rcc.o ABSOLUTE
|
||||||
|
D:\\keil_arm_pack\\Keil\\STM32F1xx_DFP\\2.2.0\\RTE_Driver\\GPIO_STM32F10x.c 0x00000000 Number 0 gpio_stm32f10x.o ABSOLUTE
|
||||||
|
D:\keil_arm_pack\Keil\STM32F1xx_DFP\2.2.0\Device\StdPeriph_Driver\src\misc.c 0x00000000 Number 0 misc.o ABSOLUTE
|
||||||
|
D:\keil_arm_pack\Keil\STM32F1xx_DFP\2.2.0\Device\StdPeriph_Driver\src\stm32f10x_dbgmcu.c 0x00000000 Number 0 stm32f10x_dbgmcu.o ABSOLUTE
|
||||||
|
D:\keil_arm_pack\Keil\STM32F1xx_DFP\2.2.0\Device\StdPeriph_Driver\src\stm32f10x_gpio.c 0x00000000 Number 0 stm32f10x_gpio.o ABSOLUTE
|
||||||
|
D:\keil_arm_pack\Keil\STM32F1xx_DFP\2.2.0\Device\StdPeriph_Driver\src\stm32f10x_i2c.c 0x00000000 Number 0 stm32f10x_i2c.o ABSOLUTE
|
||||||
|
D:\keil_arm_pack\Keil\STM32F1xx_DFP\2.2.0\Device\StdPeriph_Driver\src\stm32f10x_rcc.c 0x00000000 Number 0 stm32f10x_rcc.o ABSOLUTE
|
||||||
|
D:\keil_arm_pack\Keil\STM32F1xx_DFP\2.2.0\RTE_Driver\GPIO_STM32F10x.c 0x00000000 Number 0 gpio_stm32f10x.o ABSOLUTE
|
||||||
|
RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE
|
||||||
|
RTE\Device\STM32F103RB\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE
|
||||||
|
RTE\\Device\\STM32F103RB\\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE
|
||||||
|
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
|
||||||
|
src\\i2c_ee.c 0x00000000 Number 0 i2c_ee.o ABSOLUTE
|
||||||
|
src\\main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||||
|
src\\stm32f10x_it.c 0x00000000 Number 0 stm32f10x_it.o ABSOLUTE
|
||||||
|
src\i2c_ee.c 0x00000000 Number 0 i2c_ee.o ABSOLUTE
|
||||||
|
src\main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||||
|
src\stm32f10x_it.c 0x00000000 Number 0 stm32f10x_it.o ABSOLUTE
|
||||||
|
RESET 0x08000000 Section 236 startup_stm32f10x_md.o(RESET)
|
||||||
|
!!!main 0x080000ec Section 8 __main.o(!!!main)
|
||||||
|
!!!scatter 0x080000f4 Section 52 __scatter.o(!!!scatter)
|
||||||
|
!!handler_copy 0x08000128 Section 26 __scatter_copy.o(!!handler_copy)
|
||||||
|
!!handler_zi 0x08000144 Section 28 __scatter_zi.o(!!handler_zi)
|
||||||
|
.ARM.Collect$$libinit$$00000000 0x08000160 Section 2 libinit.o(.ARM.Collect$$libinit$$00000000)
|
||||||
|
.ARM.Collect$$libinit$$00000002 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000002)
|
||||||
|
.ARM.Collect$$libinit$$00000004 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004)
|
||||||
|
.ARM.Collect$$libinit$$0000000A 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000A)
|
||||||
|
.ARM.Collect$$libinit$$0000000C 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C)
|
||||||
|
.ARM.Collect$$libinit$$0000000E 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E)
|
||||||
|
.ARM.Collect$$libinit$$00000011 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000011)
|
||||||
|
.ARM.Collect$$libinit$$00000013 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013)
|
||||||
|
.ARM.Collect$$libinit$$00000015 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015)
|
||||||
|
.ARM.Collect$$libinit$$00000017 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017)
|
||||||
|
.ARM.Collect$$libinit$$00000019 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019)
|
||||||
|
.ARM.Collect$$libinit$$0000001B 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B)
|
||||||
|
.ARM.Collect$$libinit$$0000001D 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D)
|
||||||
|
.ARM.Collect$$libinit$$0000001F 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F)
|
||||||
|
.ARM.Collect$$libinit$$00000021 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021)
|
||||||
|
.ARM.Collect$$libinit$$00000023 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023)
|
||||||
|
.ARM.Collect$$libinit$$00000025 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025)
|
||||||
|
.ARM.Collect$$libinit$$0000002C 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002C)
|
||||||
|
.ARM.Collect$$libinit$$0000002E 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E)
|
||||||
|
.ARM.Collect$$libinit$$00000030 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030)
|
||||||
|
.ARM.Collect$$libinit$$00000032 0x08000162 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032)
|
||||||
|
.ARM.Collect$$libinit$$00000033 0x08000162 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000033)
|
||||||
|
.ARM.Collect$$libshutdown$$00000000 0x08000164 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
|
||||||
|
.ARM.Collect$$libshutdown$$00000002 0x08000166 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
|
||||||
|
.ARM.Collect$$libshutdown$$00000004 0x08000166 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
|
||||||
|
.ARM.Collect$$libshutdown$$00000007 0x08000166 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)
|
||||||
|
.ARM.Collect$$libshutdown$$0000000A 0x08000166 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)
|
||||||
|
.ARM.Collect$$libshutdown$$0000000C 0x08000166 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
|
||||||
|
.ARM.Collect$$libshutdown$$0000000F 0x08000166 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
|
||||||
|
.ARM.Collect$$libshutdown$$00000010 0x08000166 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)
|
||||||
|
.ARM.Collect$$rtentry$$00000000 0x08000168 Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000)
|
||||||
|
.ARM.Collect$$rtentry$$00000002 0x08000168 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
|
||||||
|
.ARM.Collect$$rtentry$$00000004 0x08000168 Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
|
||||||
|
.ARM.Collect$$rtentry$$00000009 0x0800016e Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
|
||||||
|
.ARM.Collect$$rtentry$$0000000A 0x0800016e Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
|
||||||
|
.ARM.Collect$$rtentry$$0000000C 0x08000172 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
|
||||||
|
.ARM.Collect$$rtentry$$0000000D 0x08000172 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
|
||||||
|
.ARM.Collect$$rtexit$$00000000 0x0800017a Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000)
|
||||||
|
.ARM.Collect$$rtexit$$00000002 0x0800017c Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002)
|
||||||
|
.ARM.Collect$$rtexit$$00000003 0x0800017c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
|
||||||
|
.ARM.Collect$$rtexit$$00000004 0x08000180 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
|
||||||
|
.text 0x08000188 Section 64 startup_stm32f10x_md.o(.text)
|
||||||
|
.text 0x080001c8 Section 0 heapauxi.o(.text)
|
||||||
|
.text 0x080001ce Section 74 sys_stackheap_outer.o(.text)
|
||||||
|
.text 0x08000218 Section 0 exit.o(.text)
|
||||||
|
.text 0x0800022c Section 8 libspace.o(.text)
|
||||||
|
.text 0x08000234 Section 0 sys_exit.o(.text)
|
||||||
|
.text 0x08000240 Section 2 use_no_semi.o(.text)
|
||||||
|
.text 0x08000242 Section 0 indicate_semi.o(.text)
|
||||||
|
i.BusFault_Handler 0x08000242 Section 0 stm32f10x_it.o(i.BusFault_Handler)
|
||||||
|
i.DebugMon_Handler 0x08000246 Section 0 stm32f10x_it.o(i.DebugMon_Handler)
|
||||||
|
i.GPIO_Init 0x08000248 Section 0 stm32f10x_gpio.o(i.GPIO_Init)
|
||||||
|
i.HardFault_Handler 0x0800035e Section 0 stm32f10x_it.o(i.HardFault_Handler)
|
||||||
|
i.I2C1_Init 0x08000364 Section 0 main.o(i.I2C1_Init)
|
||||||
|
i.I2C1_Read 0x080003b4 Section 0 main.o(i.I2C1_Read)
|
||||||
|
i.I2C_AcknowledgeConfig 0x08000468 Section 0 stm32f10x_i2c.o(i.I2C_AcknowledgeConfig)
|
||||||
|
i.I2C_CheckEvent 0x08000480 Section 0 stm32f10x_i2c.o(i.I2C_CheckEvent)
|
||||||
|
i.I2C_Cmd 0x080004aa Section 0 stm32f10x_i2c.o(i.I2C_Cmd)
|
||||||
|
i.I2C_DeInit 0x080004c4 Section 0 stm32f10x_i2c.o(i.I2C_DeInit)
|
||||||
|
i.I2C_GPIO_Config 0x080004fc Section 0 main.o(i.I2C_GPIO_Config)
|
||||||
|
i.I2C_GenerateSTART 0x08000528 Section 0 stm32f10x_i2c.o(i.I2C_GenerateSTART)
|
||||||
|
i.I2C_GenerateSTOP 0x08000540 Section 0 stm32f10x_i2c.o(i.I2C_GenerateSTOP)
|
||||||
|
i.I2C_Init 0x08000558 Section 0 stm32f10x_i2c.o(i.I2C_Init)
|
||||||
|
i.I2C_ReceiveData 0x08000644 Section 0 stm32f10x_i2c.o(i.I2C_ReceiveData)
|
||||||
|
i.I2C_Send7bitAddress 0x0800064c Section 0 stm32f10x_i2c.o(i.I2C_Send7bitAddress)
|
||||||
|
i.I2C_SendData 0x0800065e Section 0 stm32f10x_i2c.o(i.I2C_SendData)
|
||||||
|
i.MemManage_Handler 0x08000662 Section 0 stm32f10x_it.o(i.MemManage_Handler)
|
||||||
|
i.NMI_Handler 0x08000666 Section 0 stm32f10x_it.o(i.NMI_Handler)
|
||||||
|
i.PendSV_Handler 0x08000668 Section 0 stm32f10x_it.o(i.PendSV_Handler)
|
||||||
|
i.RCC_APB1PeriphClockCmd 0x0800066c Section 0 stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd)
|
||||||
|
i.RCC_APB1PeriphResetCmd 0x0800068c Section 0 stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd)
|
||||||
|
i.RCC_APB2PeriphClockCmd 0x080006ac Section 0 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
|
||||||
|
i.RCC_Configuration 0x080006cc Section 0 main.o(i.RCC_Configuration)
|
||||||
|
i.RCC_GetClocksFreq 0x080006d4 Section 0 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
|
||||||
|
i.SVC_Handler 0x080007a8 Section 0 stm32f10x_it.o(i.SVC_Handler)
|
||||||
|
i.SetSysClock 0x080007aa Section 0 system_stm32f10x.o(i.SetSysClock)
|
||||||
|
SetSysClock 0x080007ab Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
|
||||||
|
i.SetSysClockTo72 0x080007b4 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
|
||||||
|
SetSysClockTo72 0x080007b5 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
|
||||||
|
i.SysTick_Handler 0x08000894 Section 0 stm32f10x_it.o(i.SysTick_Handler)
|
||||||
|
i.SystemInit 0x08000898 Section 0 system_stm32f10x.o(i.SystemInit)
|
||||||
|
i.UsageFault_Handler 0x080008f8 Section 0 stm32f10x_it.o(i.UsageFault_Handler)
|
||||||
|
i.main 0x080008fc Section 0 main.o(i.main)
|
||||||
|
.data 0x20000000 Section 20 stm32f10x_rcc.o(.data)
|
||||||
|
APBAHBPrescTable 0x20000000 Data 16 stm32f10x_rcc.o(.data)
|
||||||
|
ADCPrescTable 0x20000010 Data 4 stm32f10x_rcc.o(.data)
|
||||||
|
.bss 0x20000014 Section 96 libspace.o(.bss)
|
||||||
|
HEAP 0x20000078 Section 512 startup_stm32f10x_md.o(HEAP)
|
||||||
|
Heap_Mem 0x20000078 Data 512 startup_stm32f10x_md.o(HEAP)
|
||||||
|
STACK 0x20000278 Section 1024 startup_stm32f10x_md.o(STACK)
|
||||||
|
Stack_Mem 0x20000278 Data 1024 startup_stm32f10x_md.o(STACK)
|
||||||
|
__initial_sp 0x20000678 Data 0 startup_stm32f10x_md.o(STACK)
|
||||||
|
|
||||||
|
Global Symbols
|
||||||
|
|
||||||
|
Symbol Name Value Ov Type Size Object(Section)
|
||||||
|
|
||||||
|
BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$ROPI$EBA8$UX$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
|
||||||
|
__ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE
|
||||||
|
__ARM_exceptions_init - Undefined Weak Reference
|
||||||
|
__alloca_initialize - Undefined Weak Reference
|
||||||
|
__arm_preinit_ - Undefined Weak Reference
|
||||||
|
__cpp_initialize__aeabi_ - Undefined Weak Reference
|
||||||
|
__cxa_finalize - Undefined Weak Reference
|
||||||
|
__rt_locale - Undefined Weak Reference
|
||||||
|
__sigvec_lookup - Undefined Weak Reference
|
||||||
|
_atexit_init - Undefined Weak Reference
|
||||||
|
_call_atexit_fns - Undefined Weak Reference
|
||||||
|
_clock_init - Undefined Weak Reference
|
||||||
|
_fp_trap_init - Undefined Weak Reference
|
||||||
|
_fp_trap_shutdown - Undefined Weak Reference
|
||||||
|
_get_lc_collate - Undefined Weak Reference
|
||||||
|
_get_lc_ctype - Undefined Weak Reference
|
||||||
|
_get_lc_monetary - Undefined Weak Reference
|
||||||
|
_get_lc_numeric - Undefined Weak Reference
|
||||||
|
_get_lc_time - Undefined Weak Reference
|
||||||
|
_getenv_init - Undefined Weak Reference
|
||||||
|
_handle_redirection - Undefined Weak Reference
|
||||||
|
_init_alloc - Undefined Weak Reference
|
||||||
|
_init_user_alloc - Undefined Weak Reference
|
||||||
|
_initio - Undefined Weak Reference
|
||||||
|
_rand_init - Undefined Weak Reference
|
||||||
|
_signal_finish - Undefined Weak Reference
|
||||||
|
_signal_init - Undefined Weak Reference
|
||||||
|
_terminate_alloc - Undefined Weak Reference
|
||||||
|
_terminate_user_alloc - Undefined Weak Reference
|
||||||
|
_terminateio - Undefined Weak Reference
|
||||||
|
__Vectors_Size 0x000000ec Number 0 startup_stm32f10x_md.o ABSOLUTE
|
||||||
|
__Vectors 0x08000000 Data 4 startup_stm32f10x_md.o(RESET)
|
||||||
|
__Vectors_End 0x080000ec Data 0 startup_stm32f10x_md.o(RESET)
|
||||||
|
__main 0x080000ed Thumb Code 8 __main.o(!!!main)
|
||||||
|
__scatterload 0x080000f5 Thumb Code 0 __scatter.o(!!!scatter)
|
||||||
|
__scatterload_rt2 0x080000f5 Thumb Code 44 __scatter.o(!!!scatter)
|
||||||
|
__scatterload_rt2_thumb_only 0x080000f5 Thumb Code 0 __scatter.o(!!!scatter)
|
||||||
|
__scatterload_null 0x08000103 Thumb Code 0 __scatter.o(!!!scatter)
|
||||||
|
__scatterload_copy 0x08000129 Thumb Code 26 __scatter_copy.o(!!handler_copy)
|
||||||
|
__scatterload_zeroinit 0x08000145 Thumb Code 28 __scatter_zi.o(!!handler_zi)
|
||||||
|
__rt_lib_init 0x08000161 Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000)
|
||||||
|
__rt_lib_init_alloca_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E)
|
||||||
|
__rt_lib_init_argv_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002C)
|
||||||
|
__rt_lib_init_atexit_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B)
|
||||||
|
__rt_lib_init_clock_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021)
|
||||||
|
__rt_lib_init_cpp_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032)
|
||||||
|
__rt_lib_init_exceptions_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030)
|
||||||
|
__rt_lib_init_fp_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000002)
|
||||||
|
__rt_lib_init_fp_trap_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F)
|
||||||
|
__rt_lib_init_getenv_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023)
|
||||||
|
__rt_lib_init_heap_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000A)
|
||||||
|
__rt_lib_init_lc_collate_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000011)
|
||||||
|
__rt_lib_init_lc_ctype_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013)
|
||||||
|
__rt_lib_init_lc_monetary_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015)
|
||||||
|
__rt_lib_init_lc_numeric_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017)
|
||||||
|
__rt_lib_init_lc_time_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019)
|
||||||
|
__rt_lib_init_preinit_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004)
|
||||||
|
__rt_lib_init_rand_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E)
|
||||||
|
__rt_lib_init_return 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000033)
|
||||||
|
__rt_lib_init_signal_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D)
|
||||||
|
__rt_lib_init_stdio_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025)
|
||||||
|
__rt_lib_init_user_alloc_1 0x08000163 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C)
|
||||||
|
__rt_lib_shutdown 0x08000165 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
|
||||||
|
__rt_lib_shutdown_cpp_1 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
|
||||||
|
__rt_lib_shutdown_fp_trap_1 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)
|
||||||
|
__rt_lib_shutdown_heap_1 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
|
||||||
|
__rt_lib_shutdown_return 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)
|
||||||
|
__rt_lib_shutdown_signal_1 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)
|
||||||
|
__rt_lib_shutdown_stdio_1 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
|
||||||
|
__rt_lib_shutdown_user_alloc_1 0x08000167 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
|
||||||
|
__rt_entry 0x08000169 Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000)
|
||||||
|
__rt_entry_presh_1 0x08000169 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
|
||||||
|
__rt_entry_sh 0x08000169 Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
|
||||||
|
__rt_entry_li 0x0800016f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
|
||||||
|
__rt_entry_postsh_1 0x0800016f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
|
||||||
|
__rt_entry_main 0x08000173 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
|
||||||
|
__rt_entry_postli_1 0x08000173 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
|
||||||
|
__rt_exit 0x0800017b Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000)
|
||||||
|
__rt_exit_ls 0x0800017d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
|
||||||
|
__rt_exit_prels_1 0x0800017d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002)
|
||||||
|
__rt_exit_exit 0x08000181 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
|
||||||
|
Reset_Handler 0x08000189 Thumb Code 8 startup_stm32f10x_md.o(.text)
|
||||||
|
ADC1_2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
CAN1_RX1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
CAN1_SCE_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel4_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel5_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel6_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
DMA1_Channel7_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI0_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI15_10_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI4_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
EXTI9_5_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
FLASH_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
I2C1_ER_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
I2C1_EV_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
I2C2_ER_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
I2C2_EV_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
PVD_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
RCC_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
RTCAlarm_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
RTC_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
SPI1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
SPI2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TAMPER_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM1_BRK_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM1_CC_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM1_TRG_COM_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM1_UP_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
TIM4_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
USART1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
USART2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
USART3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
USBWakeUp_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
USB_HP_CAN1_TX_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
USB_LP_CAN1_RX0_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
WWDG_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
__user_initial_stackheap 0x080001a5 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||||
|
__use_two_region_memory 0x080001c9 Thumb Code 2 heapauxi.o(.text)
|
||||||
|
__rt_heap_escrow$2region 0x080001cb Thumb Code 2 heapauxi.o(.text)
|
||||||
|
__rt_heap_expand$2region 0x080001cd Thumb Code 2 heapauxi.o(.text)
|
||||||
|
__user_setup_stackheap 0x080001cf Thumb Code 74 sys_stackheap_outer.o(.text)
|
||||||
|
exit 0x08000219 Thumb Code 18 exit.o(.text)
|
||||||
|
__user_libspace 0x0800022d Thumb Code 8 libspace.o(.text)
|
||||||
|
__user_perproc_libspace 0x0800022d Thumb Code 0 libspace.o(.text)
|
||||||
|
__user_perthread_libspace 0x0800022d Thumb Code 0 libspace.o(.text)
|
||||||
|
_sys_exit 0x08000235 Thumb Code 8 sys_exit.o(.text)
|
||||||
|
__I$use$semihosting 0x08000241 Thumb Code 0 use_no_semi.o(.text)
|
||||||
|
__use_no_semihosting_swi 0x08000241 Thumb Code 2 use_no_semi.o(.text)
|
||||||
|
BusFault_Handler 0x08000243 Thumb Code 4 stm32f10x_it.o(i.BusFault_Handler)
|
||||||
|
__semihosting_library_function 0x08000243 Thumb Code 0 indicate_semi.o(.text)
|
||||||
|
DebugMon_Handler 0x08000247 Thumb Code 2 stm32f10x_it.o(i.DebugMon_Handler)
|
||||||
|
GPIO_Init 0x08000249 Thumb Code 278 stm32f10x_gpio.o(i.GPIO_Init)
|
||||||
|
HardFault_Handler 0x0800035f Thumb Code 4 stm32f10x_it.o(i.HardFault_Handler)
|
||||||
|
I2C1_Init 0x08000365 Thumb Code 74 main.o(i.I2C1_Init)
|
||||||
|
I2C1_Read 0x080003b5 Thumb Code 168 main.o(i.I2C1_Read)
|
||||||
|
I2C_AcknowledgeConfig 0x08000469 Thumb Code 24 stm32f10x_i2c.o(i.I2C_AcknowledgeConfig)
|
||||||
|
I2C_CheckEvent 0x08000481 Thumb Code 42 stm32f10x_i2c.o(i.I2C_CheckEvent)
|
||||||
|
I2C_Cmd 0x080004ab Thumb Code 24 stm32f10x_i2c.o(i.I2C_Cmd)
|
||||||
|
I2C_DeInit 0x080004c5 Thumb Code 50 stm32f10x_i2c.o(i.I2C_DeInit)
|
||||||
|
I2C_GPIO_Config 0x080004fd Thumb Code 38 main.o(i.I2C_GPIO_Config)
|
||||||
|
I2C_GenerateSTART 0x08000529 Thumb Code 24 stm32f10x_i2c.o(i.I2C_GenerateSTART)
|
||||||
|
I2C_GenerateSTOP 0x08000541 Thumb Code 24 stm32f10x_i2c.o(i.I2C_GenerateSTOP)
|
||||||
|
I2C_Init 0x08000559 Thumb Code 222 stm32f10x_i2c.o(i.I2C_Init)
|
||||||
|
I2C_ReceiveData 0x08000645 Thumb Code 8 stm32f10x_i2c.o(i.I2C_ReceiveData)
|
||||||
|
I2C_Send7bitAddress 0x0800064d Thumb Code 18 stm32f10x_i2c.o(i.I2C_Send7bitAddress)
|
||||||
|
I2C_SendData 0x0800065f Thumb Code 4 stm32f10x_i2c.o(i.I2C_SendData)
|
||||||
|
MemManage_Handler 0x08000663 Thumb Code 4 stm32f10x_it.o(i.MemManage_Handler)
|
||||||
|
NMI_Handler 0x08000667 Thumb Code 2 stm32f10x_it.o(i.NMI_Handler)
|
||||||
|
PendSV_Handler 0x08000669 Thumb Code 2 stm32f10x_it.o(i.PendSV_Handler)
|
||||||
|
RCC_APB1PeriphClockCmd 0x0800066d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd)
|
||||||
|
RCC_APB1PeriphResetCmd 0x0800068d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd)
|
||||||
|
RCC_APB2PeriphClockCmd 0x080006ad Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
|
||||||
|
RCC_Configuration 0x080006cd Thumb Code 8 main.o(i.RCC_Configuration)
|
||||||
|
RCC_GetClocksFreq 0x080006d5 Thumb Code 192 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
|
||||||
|
SVC_Handler 0x080007a9 Thumb Code 2 stm32f10x_it.o(i.SVC_Handler)
|
||||||
|
SysTick_Handler 0x08000895 Thumb Code 2 stm32f10x_it.o(i.SysTick_Handler)
|
||||||
|
SystemInit 0x08000899 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
|
||||||
|
UsageFault_Handler 0x080008f9 Thumb Code 4 stm32f10x_it.o(i.UsageFault_Handler)
|
||||||
|
main 0x080008fd Thumb Code 22 main.o(i.main)
|
||||||
|
Region$$Table$$Base 0x08000914 Number 0 anon$$obj.o(Region$$Table)
|
||||||
|
Region$$Table$$Limit 0x08000934 Number 0 anon$$obj.o(Region$$Table)
|
||||||
|
__libspace_start 0x20000014 Data 96 libspace.o(.bss)
|
||||||
|
__temporary_stack_top$libspace 0x20000074 Data 0 libspace.o(.bss)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Memory Map of the image
|
||||||
|
|
||||||
|
Image Entry point : 0x08000189
|
||||||
|
|
||||||
|
Load Region LR_1 (Base: 0x08000000, Size: 0x00000948, Max: 0xffffffff, ABSOLUTE)
|
||||||
|
|
||||||
|
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000934, Max: 0xffffffff, ABSOLUTE)
|
||||||
|
|
||||||
|
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||||
|
|
||||||
|
0x08000000 0x08000000 0x000000ec Data RO 767 RESET startup_stm32f10x_md.o
|
||||||
|
0x080000ec 0x080000ec 0x00000008 Code RO 996 * !!!main c_w.l(__main.o)
|
||||||
|
0x080000f4 0x080000f4 0x00000034 Code RO 1153 !!!scatter c_w.l(__scatter.o)
|
||||||
|
0x08000128 0x08000128 0x0000001a Code RO 1155 !!handler_copy c_w.l(__scatter_copy.o)
|
||||||
|
0x08000142 0x08000142 0x00000002 PAD
|
||||||
|
0x08000144 0x08000144 0x0000001c Code RO 1157 !!handler_zi c_w.l(__scatter_zi.o)
|
||||||
|
0x08000160 0x08000160 0x00000002 Code RO 1023 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1030 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1032 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1035 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1037 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1039 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1042 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1044 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1046 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1048 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1050 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1052 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1054 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1056 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1058 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1060 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1062 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1066 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1068 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1070 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000000 Code RO 1072 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
|
||||||
|
0x08000162 0x08000162 0x00000002 Code RO 1073 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
|
||||||
|
0x08000164 0x08000164 0x00000002 Code RO 1093 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
|
||||||
|
0x08000166 0x08000166 0x00000000 Code RO 1106 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
|
||||||
|
0x08000166 0x08000166 0x00000000 Code RO 1108 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
|
||||||
|
0x08000166 0x08000166 0x00000000 Code RO 1111 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
|
||||||
|
0x08000166 0x08000166 0x00000000 Code RO 1114 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
|
||||||
|
0x08000166 0x08000166 0x00000000 Code RO 1116 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
|
||||||
|
0x08000166 0x08000166 0x00000000 Code RO 1119 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
|
||||||
|
0x08000166 0x08000166 0x00000002 Code RO 1120 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
|
||||||
|
0x08000168 0x08000168 0x00000000 Code RO 998 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
|
||||||
|
0x08000168 0x08000168 0x00000000 Code RO 1000 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
|
||||||
|
0x08000168 0x08000168 0x00000006 Code RO 1012 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
|
||||||
|
0x0800016e 0x0800016e 0x00000000 Code RO 1002 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
|
||||||
|
0x0800016e 0x0800016e 0x00000004 Code RO 1003 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
|
||||||
|
0x08000172 0x08000172 0x00000000 Code RO 1005 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
|
||||||
|
0x08000172 0x08000172 0x00000008 Code RO 1006 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
|
||||||
|
0x0800017a 0x0800017a 0x00000002 Code RO 1027 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
|
||||||
|
0x0800017c 0x0800017c 0x00000000 Code RO 1075 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
|
||||||
|
0x0800017c 0x0800017c 0x00000004 Code RO 1076 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
|
||||||
|
0x08000180 0x08000180 0x00000006 Code RO 1077 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
|
||||||
|
0x08000186 0x08000186 0x00000002 PAD
|
||||||
|
0x08000188 0x08000188 0x00000040 Code RO 768 * .text startup_stm32f10x_md.o
|
||||||
|
0x080001c8 0x080001c8 0x00000006 Code RO 994 .text c_w.l(heapauxi.o)
|
||||||
|
0x080001ce 0x080001ce 0x0000004a Code RO 1014 .text c_w.l(sys_stackheap_outer.o)
|
||||||
|
0x08000218 0x08000218 0x00000012 Code RO 1016 .text c_w.l(exit.o)
|
||||||
|
0x0800022a 0x0800022a 0x00000002 PAD
|
||||||
|
0x0800022c 0x0800022c 0x00000008 Code RO 1024 .text c_w.l(libspace.o)
|
||||||
|
0x08000234 0x08000234 0x0000000c Code RO 1085 .text c_w.l(sys_exit.o)
|
||||||
|
0x08000240 0x08000240 0x00000002 Code RO 1096 .text c_w.l(use_no_semi.o)
|
||||||
|
0x08000242 0x08000242 0x00000000 Code RO 1098 .text c_w.l(indicate_semi.o)
|
||||||
|
0x08000242 0x08000242 0x00000004 Code RO 4 i.BusFault_Handler stm32f10x_it.o
|
||||||
|
0x08000246 0x08000246 0x00000002 Code RO 5 i.DebugMon_Handler stm32f10x_it.o
|
||||||
|
0x08000248 0x08000248 0x00000116 Code RO 827 i.GPIO_Init stm32f10x_gpio.o
|
||||||
|
0x0800035e 0x0800035e 0x00000004 Code RO 6 i.HardFault_Handler stm32f10x_it.o
|
||||||
|
0x08000362 0x08000362 0x00000002 PAD
|
||||||
|
0x08000364 0x08000364 0x00000050 Code RO 127 i.I2C1_Init main.o
|
||||||
|
0x080003b4 0x080003b4 0x000000b4 Code RO 128 i.I2C1_Read main.o
|
||||||
|
0x08000468 0x08000468 0x00000018 Code RO 341 i.I2C_AcknowledgeConfig stm32f10x_i2c.o
|
||||||
|
0x08000480 0x08000480 0x0000002a Code RO 343 i.I2C_CheckEvent stm32f10x_i2c.o
|
||||||
|
0x080004aa 0x080004aa 0x00000018 Code RO 346 i.I2C_Cmd stm32f10x_i2c.o
|
||||||
|
0x080004c2 0x080004c2 0x00000002 PAD
|
||||||
|
0x080004c4 0x080004c4 0x00000038 Code RO 349 i.I2C_DeInit stm32f10x_i2c.o
|
||||||
|
0x080004fc 0x080004fc 0x0000002c Code RO 129 i.I2C_GPIO_Config main.o
|
||||||
|
0x08000528 0x08000528 0x00000018 Code RO 353 i.I2C_GenerateSTART stm32f10x_i2c.o
|
||||||
|
0x08000540 0x08000540 0x00000018 Code RO 354 i.I2C_GenerateSTOP stm32f10x_i2c.o
|
||||||
|
0x08000558 0x08000558 0x000000ec Code RO 360 i.I2C_Init stm32f10x_i2c.o
|
||||||
|
0x08000644 0x08000644 0x00000008 Code RO 365 i.I2C_ReceiveData stm32f10x_i2c.o
|
||||||
|
0x0800064c 0x0800064c 0x00000012 Code RO 367 i.I2C_Send7bitAddress stm32f10x_i2c.o
|
||||||
|
0x0800065e 0x0800065e 0x00000004 Code RO 368 i.I2C_SendData stm32f10x_i2c.o
|
||||||
|
0x08000662 0x08000662 0x00000004 Code RO 7 i.MemManage_Handler stm32f10x_it.o
|
||||||
|
0x08000666 0x08000666 0x00000002 Code RO 8 i.NMI_Handler stm32f10x_it.o
|
||||||
|
0x08000668 0x08000668 0x00000002 Code RO 9 i.PendSV_Handler stm32f10x_it.o
|
||||||
|
0x0800066a 0x0800066a 0x00000002 PAD
|
||||||
|
0x0800066c 0x0800066c 0x00000020 Code RO 558 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o
|
||||||
|
0x0800068c 0x0800068c 0x00000020 Code RO 559 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o
|
||||||
|
0x080006ac 0x080006ac 0x00000020 Code RO 560 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
|
||||||
|
0x080006cc 0x080006cc 0x00000008 Code RO 130 i.RCC_Configuration main.o
|
||||||
|
0x080006d4 0x080006d4 0x000000d4 Code RO 568 i.RCC_GetClocksFreq stm32f10x_rcc.o
|
||||||
|
0x080007a8 0x080007a8 0x00000002 Code RO 10 i.SVC_Handler stm32f10x_it.o
|
||||||
|
0x080007aa 0x080007aa 0x00000008 Code RO 775 i.SetSysClock system_stm32f10x.o
|
||||||
|
0x080007b2 0x080007b2 0x00000002 PAD
|
||||||
|
0x080007b4 0x080007b4 0x000000e0 Code RO 776 i.SetSysClockTo72 system_stm32f10x.o
|
||||||
|
0x08000894 0x08000894 0x00000002 Code RO 11 i.SysTick_Handler stm32f10x_it.o
|
||||||
|
0x08000896 0x08000896 0x00000002 PAD
|
||||||
|
0x08000898 0x08000898 0x00000060 Code RO 778 i.SystemInit system_stm32f10x.o
|
||||||
|
0x080008f8 0x080008f8 0x00000004 Code RO 12 i.UsageFault_Handler stm32f10x_it.o
|
||||||
|
0x080008fc 0x080008fc 0x00000016 Code RO 131 i.main main.o
|
||||||
|
0x08000912 0x08000912 0x00000002 PAD
|
||||||
|
0x08000914 0x08000914 0x00000020 Data RO 1151 Region$$Table anon$$obj.o
|
||||||
|
|
||||||
|
|
||||||
|
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000934, Size: 0x00000014, Max: 0xffffffff, ABSOLUTE)
|
||||||
|
|
||||||
|
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||||
|
|
||||||
|
0x20000000 0x08000934 0x00000014 Data RW 588 .data stm32f10x_rcc.o
|
||||||
|
|
||||||
|
|
||||||
|
Execution Region ER_ZI (Exec base: 0x20000014, Load base: 0x08000948, Size: 0x00000664, Max: 0xffffffff, ABSOLUTE)
|
||||||
|
|
||||||
|
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||||
|
|
||||||
|
0x20000014 - 0x00000060 Zero RW 1025 .bss c_w.l(libspace.o)
|
||||||
|
0x20000074 0x08000948 0x00000004 PAD
|
||||||
|
0x20000078 - 0x00000200 Zero RW 766 HEAP startup_stm32f10x_md.o
|
||||||
|
0x20000278 - 0x00000400 Zero RW 765 STACK startup_stm32f10x_md.o
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Image component sizes
|
||||||
|
|
||||||
|
|
||||||
|
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
|
||||||
|
|
||||||
|
334 24 0 0 0 2313 main.o
|
||||||
|
64 26 236 0 1536 812 startup_stm32f10x_md.o
|
||||||
|
278 0 0 0 0 2184 stm32f10x_gpio.o
|
||||||
|
460 20 0 0 0 8037 stm32f10x_i2c.o
|
||||||
|
26 0 0 0 0 235306 stm32f10x_it.o
|
||||||
|
308 38 0 20 0 5303 stm32f10x_rcc.o
|
||||||
|
328 28 0 0 0 2077 system_stm32f10x.o
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
1810 136 268 20 1536 256032 Object Totals
|
||||||
|
0 0 32 0 0 0 (incl. Generated)
|
||||||
|
12 0 0 0 0 0 (incl. Padding)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
|
||||||
|
|
||||||
|
8 0 0 0 0 68 __main.o
|
||||||
|
0 0 0 0 0 0 __rtentry.o
|
||||||
|
12 0 0 0 0 0 __rtentry2.o
|
||||||
|
6 0 0 0 0 0 __rtentry4.o
|
||||||
|
52 8 0 0 0 0 __scatter.o
|
||||||
|
26 0 0 0 0 0 __scatter_copy.o
|
||||||
|
28 0 0 0 0 0 __scatter_zi.o
|
||||||
|
18 0 0 0 0 80 exit.o
|
||||||
|
6 0 0 0 0 152 heapauxi.o
|
||||||
|
0 0 0 0 0 0 indicate_semi.o
|
||||||
|
2 0 0 0 0 0 libinit.o
|
||||||
|
2 0 0 0 0 0 libinit2.o
|
||||||
|
2 0 0 0 0 0 libshutdown.o
|
||||||
|
2 0 0 0 0 0 libshutdown2.o
|
||||||
|
8 4 0 0 96 68 libspace.o
|
||||||
|
2 0 0 0 0 0 rtexit.o
|
||||||
|
10 0 0 0 0 0 rtexit2.o
|
||||||
|
12 4 0 0 0 68 sys_exit.o
|
||||||
|
74 0 0 0 0 80 sys_stackheap_outer.o
|
||||||
|
2 0 0 0 0 68 use_no_semi.o
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
278 16 0 0 100 584 Library Totals
|
||||||
|
6 0 0 0 4 0 (incl. Padding)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
|
||||||
|
|
||||||
|
272 16 0 0 96 584 c_w.l
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
278 16 0 0 100 584 Library Totals
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||||
|
|
||||||
|
2088 152 268 20 1636 254948 Grand Totals
|
||||||
|
2088 152 268 20 1636 254948 ELF Image Totals
|
||||||
|
2088 152 268 20 0 0 ROM Totals
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Total RO Size (Code + RO Data) 2356 ( 2.30kB)
|
||||||
|
Total RW Size (RW Data + ZI Data) 1656 ( 1.62kB)
|
||||||
|
Total ROM Size (Code + RO Data + RW Data) 2376 ( 2.32kB)
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,15 @@
|
||||||
|
--cpu Cortex-M3
|
||||||
|
".\objects\stm32f10x_it.o"
|
||||||
|
".\objects\main.o"
|
||||||
|
".\objects\i2c_ee.o"
|
||||||
|
".\objects\misc.o"
|
||||||
|
".\objects\stm32f10x_dbgmcu.o"
|
||||||
|
".\objects\stm32f10x_i2c.o"
|
||||||
|
".\objects\stm32f10x_rcc.o"
|
||||||
|
".\objects\startup_stm32f10x_md.o"
|
||||||
|
".\objects\system_stm32f10x.o"
|
||||||
|
".\objects\stm32f10x_gpio.o"
|
||||||
|
".\objects\gpio_stm32f10x.o"
|
||||||
|
--ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
|
||||||
|
--info sizes --info totals --info unused --info veneers
|
||||||
|
--list ".\Listings\gc0307.map" -o .\Objects\gc0307.axf
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,307 @@
|
||||||
|
;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************
|
||||||
|
;* File Name : startup_stm32f10x_md.s
|
||||||
|
;* Author : MCD Application Team
|
||||||
|
;* Version : V3.5.0
|
||||||
|
;* Date : 11-March-2011
|
||||||
|
;* Description : STM32F10x Medium Density 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
|
||||||
|
;* - Configure the clock system
|
||||||
|
;* - Branches to __main in the C library (which eventually
|
||||||
|
;* calls main()).
|
||||||
|
;* After Reset the CortexM3 processor is in Thread mode,
|
||||||
|
;* priority is Privileged, and the Stack is set to Main.
|
||||||
|
;* <<< Use Configuration Wizard in Context Menu >>>
|
||||||
|
;*******************************************************************************
|
||||||
|
; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||||
|
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||||
|
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||||
|
; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||||
|
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
;*******************************************************************************
|
||||||
|
|
||||||
|
; 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 0x00000400
|
||||||
|
|
||||||
|
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 0x00000200
|
||||||
|
|
||||||
|
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 detect
|
||||||
|
DCD TAMPER_IRQHandler ; Tamper
|
||||||
|
DCD RTC_IRQHandler ; RTC
|
||||||
|
DCD FLASH_IRQHandler ; Flash
|
||||||
|
DCD RCC_IRQHandler ; RCC
|
||||||
|
DCD EXTI0_IRQHandler ; EXTI Line 0
|
||||||
|
DCD EXTI1_IRQHandler ; EXTI Line 1
|
||||||
|
DCD EXTI2_IRQHandler ; EXTI Line 2
|
||||||
|
DCD EXTI3_IRQHandler ; EXTI Line 3
|
||||||
|
DCD EXTI4_IRQHandler ; EXTI Line 4
|
||||||
|
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
|
||||||
|
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
|
||||||
|
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
|
||||||
|
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
|
||||||
|
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
|
||||||
|
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
|
||||||
|
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
|
||||||
|
DCD ADC1_2_IRQHandler ; ADC1_2
|
||||||
|
DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
|
||||||
|
DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
|
||||||
|
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
|
||||||
|
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
|
||||||
|
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
|
||||||
|
DCD TIM1_BRK_IRQHandler ; TIM1 Break
|
||||||
|
DCD TIM1_UP_IRQHandler ; TIM1 Update
|
||||||
|
DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
|
||||||
|
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 ; EXTI Line 15..10
|
||||||
|
DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line
|
||||||
|
DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
|
||||||
|
__Vectors_End
|
||||||
|
|
||||||
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
|
||||||
|
AREA |.text|, CODE, READONLY
|
||||||
|
|
||||||
|
; Reset handler
|
||||||
|
Reset_Handler PROC
|
||||||
|
EXPORT Reset_Handler [WEAK]
|
||||||
|
IMPORT __main
|
||||||
|
IMPORT SystemInit
|
||||||
|
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 TAMPER_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_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_Channel1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Channel2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Channel3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Channel4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Channel5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Channel6_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Channel7_IRQHandler [WEAK]
|
||||||
|
EXPORT ADC1_2_IRQHandler [WEAK]
|
||||||
|
EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI9_5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_BRK_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_UP_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_TRG_COM_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 RTCAlarm_IRQHandler [WEAK]
|
||||||
|
EXPORT USBWakeUp_IRQHandler [WEAK]
|
||||||
|
|
||||||
|
WWDG_IRQHandler
|
||||||
|
PVD_IRQHandler
|
||||||
|
TAMPER_IRQHandler
|
||||||
|
RTC_IRQHandler
|
||||||
|
FLASH_IRQHandler
|
||||||
|
RCC_IRQHandler
|
||||||
|
EXTI0_IRQHandler
|
||||||
|
EXTI1_IRQHandler
|
||||||
|
EXTI2_IRQHandler
|
||||||
|
EXTI3_IRQHandler
|
||||||
|
EXTI4_IRQHandler
|
||||||
|
DMA1_Channel1_IRQHandler
|
||||||
|
DMA1_Channel2_IRQHandler
|
||||||
|
DMA1_Channel3_IRQHandler
|
||||||
|
DMA1_Channel4_IRQHandler
|
||||||
|
DMA1_Channel5_IRQHandler
|
||||||
|
DMA1_Channel6_IRQHandler
|
||||||
|
DMA1_Channel7_IRQHandler
|
||||||
|
ADC1_2_IRQHandler
|
||||||
|
USB_HP_CAN1_TX_IRQHandler
|
||||||
|
USB_LP_CAN1_RX0_IRQHandler
|
||||||
|
CAN1_RX1_IRQHandler
|
||||||
|
CAN1_SCE_IRQHandler
|
||||||
|
EXTI9_5_IRQHandler
|
||||||
|
TIM1_BRK_IRQHandler
|
||||||
|
TIM1_UP_IRQHandler
|
||||||
|
TIM1_TRG_COM_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
|
||||||
|
RTCAlarm_IRQHandler
|
||||||
|
USBWakeUp_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 2011 STMicroelectronics *****END OF FILE*****
|
|
@ -0,0 +1,124 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file Project/STM32F10x_StdPeriph_Template/stm32f10x_conf.h
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.5.0
|
||||||
|
* @date 08-April-2011
|
||||||
|
* @brief Library configuration file.
|
||||||
|
******************************************************************************
|
||||||
|
* @attention
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
|
#ifndef __STM32F10x_CONF_H
|
||||||
|
#define __STM32F10x_CONF_H
|
||||||
|
|
||||||
|
/* Run Time Environment will set specific #define for each selected module below */
|
||||||
|
#include "RTE_Components.h"
|
||||||
|
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_ADC
|
||||||
|
#include "stm32f10x_adc.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_BKP
|
||||||
|
#include "stm32f10x_bkp.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_CAN
|
||||||
|
#include "stm32f10x_can.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_CEC
|
||||||
|
#include "stm32f10x_cec.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_CRC
|
||||||
|
#include "stm32f10x_crc.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_DAC
|
||||||
|
#include "stm32f10x_dac.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_DBGMCU
|
||||||
|
#include "stm32f10x_dbgmcu.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_DMA
|
||||||
|
#include "stm32f10x_dma.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_EXTI
|
||||||
|
#include "stm32f10x_exti.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_FLASH
|
||||||
|
#include "stm32f10x_flash.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_FSMC
|
||||||
|
#include "stm32f10x_fsmc.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_GPIO
|
||||||
|
#include "stm32f10x_gpio.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_I2C
|
||||||
|
#include "stm32f10x_i2c.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_IWDG
|
||||||
|
#include "stm32f10x_iwdg.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_PWR
|
||||||
|
#include "stm32f10x_pwr.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_RCC
|
||||||
|
#include "stm32f10x_rcc.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_RTC
|
||||||
|
#include "stm32f10x_rtc.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_SDIO
|
||||||
|
#include "stm32f10x_sdio.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_SPI
|
||||||
|
#include "stm32f10x_spi.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_TIM
|
||||||
|
#include "stm32f10x_tim.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_USART
|
||||||
|
#include "stm32f10x_usart.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_WWDG
|
||||||
|
#include "stm32f10x_wwdg.h"
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_STDPERIPH_FRAMEWORK
|
||||||
|
#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
/* Exported constants --------------------------------------------------------*/
|
||||||
|
/* Uncomment the line below to expanse the "assert_param" macro in the
|
||||||
|
Standard Peripheral Library drivers code */
|
||||||
|
/* #define USE_FULL_ASSERT 1 */
|
||||||
|
|
||||||
|
/* 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)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
void assert_failed(uint8_t* file, uint32_t line);
|
||||||
|
#else
|
||||||
|
#define assert_param(expr) ((void)0)
|
||||||
|
#endif /* USE_FULL_ASSERT */
|
||||||
|
|
||||||
|
#endif /* __STM32F10x_CONF_H */
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Auto generated Run-Time-Environment Configuration File
|
||||||
|
* *** Do not modify ! ***
|
||||||
|
*
|
||||||
|
* Project: 'gc0307'
|
||||||
|
* Target: 'Target 1'
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef RTE_COMPONENTS_H
|
||||||
|
#define RTE_COMPONENTS_H
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define the Device Header File:
|
||||||
|
*/
|
||||||
|
#define CMSIS_device_header "stm32f10x.h"
|
||||||
|
|
||||||
|
/* Keil::Device:StdPeriph Drivers:DBGMCU:3.5.0 */
|
||||||
|
#define RTE_DEVICE_STDPERIPH_DBGMCU
|
||||||
|
/* Keil::Device:StdPeriph Drivers:Framework:3.5.1 */
|
||||||
|
#define RTE_DEVICE_STDPERIPH_FRAMEWORK
|
||||||
|
/* Keil::Device:StdPeriph Drivers:GPIO:3.5.0 */
|
||||||
|
#define RTE_DEVICE_STDPERIPH_GPIO
|
||||||
|
/* Keil::Device:StdPeriph Drivers:I2C:3.5.0 */
|
||||||
|
#define RTE_DEVICE_STDPERIPH_I2C
|
||||||
|
/* Keil::Device:StdPeriph Drivers:RCC:3.5.0 */
|
||||||
|
#define RTE_DEVICE_STDPERIPH_RCC
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* RTE_COMPONENTS_H */
|
|
@ -0,0 +1,399 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
|
||||||
|
|
||||||
|
<SchemaVersion>1.0</SchemaVersion>
|
||||||
|
|
||||||
|
<Header>### uVision Project, (C) Keil Software</Header>
|
||||||
|
|
||||||
|
<Extensions>
|
||||||
|
<cExt>*.c</cExt>
|
||||||
|
<aExt>*.s*; *.src; *.a*</aExt>
|
||||||
|
<oExt>*.obj; *.o</oExt>
|
||||||
|
<lExt>*.lib</lExt>
|
||||||
|
<tExt>*.txt; *.h; *.inc</tExt>
|
||||||
|
<pExt>*.plm</pExt>
|
||||||
|
<CppX>*.cpp</CppX>
|
||||||
|
<nMigrate>0</nMigrate>
|
||||||
|
</Extensions>
|
||||||
|
|
||||||
|
<DaveTm>
|
||||||
|
<dwLowDateTime>0</dwLowDateTime>
|
||||||
|
<dwHighDateTime>0</dwHighDateTime>
|
||||||
|
</DaveTm>
|
||||||
|
|
||||||
|
<Target>
|
||||||
|
<TargetName>Target 1</TargetName>
|
||||||
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
|
<TargetOption>
|
||||||
|
<CLKADS>12000000</CLKADS>
|
||||||
|
<OPTTT>
|
||||||
|
<gFlags>1</gFlags>
|
||||||
|
<BeepAtEnd>1</BeepAtEnd>
|
||||||
|
<RunSim>0</RunSim>
|
||||||
|
<RunTarget>1</RunTarget>
|
||||||
|
<RunAbUc>0</RunAbUc>
|
||||||
|
</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>.\Listings\</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>1</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<IsCurrentTarget>1</IsCurrentTarget>
|
||||||
|
</OPTFL>
|
||||||
|
<CpuCode>18</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>0</tRfunc>
|
||||||
|
<tRbox>1</tRbox>
|
||||||
|
<tRtrace>1</tRtrace>
|
||||||
|
<sRSysVw>1</sRSysVw>
|
||||||
|
<tRSysVw>1</tRSysVw>
|
||||||
|
<sRunDeb>0</sRunDeb>
|
||||||
|
<sLrtime>0</sLrtime>
|
||||||
|
<bEvRecOn>1</bEvRecOn>
|
||||||
|
<bSchkAxf>0</bSchkAxf>
|
||||||
|
<bTchkAxf>0</bTchkAxf>
|
||||||
|
<nTsel>4</nTsel>
|
||||||
|
<sDll></sDll>
|
||||||
|
<sDllPa></sDllPa>
|
||||||
|
<sDlgDll></sDlgDll>
|
||||||
|
<sDlgPa></sDlgPa>
|
||||||
|
<sIfile></sIfile>
|
||||||
|
<tDll></tDll>
|
||||||
|
<tDllPa></tDllPa>
|
||||||
|
<tDlgDll></tDlgDll>
|
||||||
|
<tDlgPa></tDlgPa>
|
||||||
|
<tIfile></tIfile>
|
||||||
|
<pMon>Segger\JL2CM3.dll</pMon>
|
||||||
|
</DebugOpt>
|
||||||
|
<TargetDriverDllRegistry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ARMRTXEVENTFLAGS</Key>
|
||||||
|
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>DLGTARM</Key>
|
||||||
|
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ARMDBGFLAGS</Key>
|
||||||
|
<Name></Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>DLGUARM</Key>
|
||||||
|
<Name>d</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>JL2CM3</Key>
|
||||||
|
<Name>-U20080643 -O14 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("ST TMC") -D01(16410041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>UL2CM3</Key>
|
||||||
|
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM))</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
</TargetDriverDllRegistry>
|
||||||
|
<Breakpoint>
|
||||||
|
<Bp>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>120</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134220050</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\src\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\gc0307\src/main.c\120</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>1</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>117</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134220044</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\src\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\gc0307\src/main.c\117</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>2</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>112</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134220032</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\src\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\gc0307\src/main.c\112</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>3</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>94</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134218758</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\src\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\gc0307\src/main.c\94</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>4</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>91</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134218734</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\src\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\gc0307\src/main.c\91</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>5</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>89</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134218710</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\src\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\gc0307\src/main.c\89</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>6</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>212</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>0</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>0</BreakIfRCount>
|
||||||
|
<Filename>.\src\i2c_ee.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression></Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>7</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>218</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>0</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>0</BreakIfRCount>
|
||||||
|
<Filename>.\src\i2c_ee.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression></Expression>
|
||||||
|
</Bp>
|
||||||
|
</Breakpoint>
|
||||||
|
<Tracepoint>
|
||||||
|
<THDelay>0</THDelay>
|
||||||
|
</Tracepoint>
|
||||||
|
<DebugFlag>
|
||||||
|
<trace>0</trace>
|
||||||
|
<periodic>1</periodic>
|
||||||
|
<aLwin>1</aLwin>
|
||||||
|
<aCover>0</aCover>
|
||||||
|
<aSer1>0</aSer1>
|
||||||
|
<aSer2>0</aSer2>
|
||||||
|
<aPa>0</aPa>
|
||||||
|
<viewmode>1</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></LintExecutable>
|
||||||
|
<LintConfigFile></LintConfigFile>
|
||||||
|
<bLintAuto>0</bLintAuto>
|
||||||
|
<bAutoGenD>0</bAutoGenD>
|
||||||
|
<LntExFlags>0</LntExFlags>
|
||||||
|
<pMisraName></pMisraName>
|
||||||
|
<pszMrule></pszMrule>
|
||||||
|
<pSingCmds></pSingCmds>
|
||||||
|
<pMultCmds></pMultCmds>
|
||||||
|
<pMisraNamep></pMisraNamep>
|
||||||
|
<pszMrulep></pszMrulep>
|
||||||
|
<pSingCmdsp></pSingCmdsp>
|
||||||
|
<pMultCmdsp></pMultCmdsp>
|
||||||
|
<SystemViewers>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\I2C1</Name>
|
||||||
|
<WinId>35905</WinId>
|
||||||
|
</Entry>
|
||||||
|
</SystemViewers>
|
||||||
|
<DebugDescription>
|
||||||
|
<Enable>1</Enable>
|
||||||
|
<EnableFlashSeq>1</EnableFlashSeq>
|
||||||
|
<EnableLog>0</EnableLog>
|
||||||
|
<Protocol>2</Protocol>
|
||||||
|
<DbgClock>10000000</DbgClock>
|
||||||
|
</DebugDescription>
|
||||||
|
</TargetOption>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>Source Group 1</GroupName>
|
||||||
|
<tvExp>1</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>1</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\src\stm32f10x_it.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>stm32f10x_it.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>2</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\src\main.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>3</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\src\i2c_ee.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>i2c_ee.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::CMSIS</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Device</GroupName>
|
||||||
|
<tvExp>1</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
</ProjectOpt>
|
|
@ -0,0 +1,500 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
|
||||||
|
|
||||||
|
<SchemaVersion>2.1</SchemaVersion>
|
||||||
|
|
||||||
|
<Header>### uVision Project, (C) Keil Software</Header>
|
||||||
|
|
||||||
|
<Targets>
|
||||||
|
<Target>
|
||||||
|
<TargetName>Target 1</TargetName>
|
||||||
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
|
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
|
||||||
|
<uAC6>0</uAC6>
|
||||||
|
<TargetOption>
|
||||||
|
<TargetCommonOption>
|
||||||
|
<Device>STM32F103RB</Device>
|
||||||
|
<Vendor>STMicroelectronics</Vendor>
|
||||||
|
<PackID>Keil.STM32F1xx_DFP.2.2.0</PackID>
|
||||||
|
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||||
|
<Cpu>IRAM(0x20000000,0x5000) IROM(0x08000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
||||||
|
<FlashUtilSpec></FlashUtilSpec>
|
||||||
|
<StartupFile></StartupFile>
|
||||||
|
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM))</FlashDriverDll>
|
||||||
|
<DeviceId>0</DeviceId>
|
||||||
|
<RegisterFile>$$Device:STM32F103RB$Device\Include\stm32f10x.h</RegisterFile>
|
||||||
|
<MemoryEnv></MemoryEnv>
|
||||||
|
<Cmp></Cmp>
|
||||||
|
<Asm></Asm>
|
||||||
|
<Linker></Linker>
|
||||||
|
<OHString></OHString>
|
||||||
|
<InfinionOptionDll></InfinionOptionDll>
|
||||||
|
<SLE66CMisc></SLE66CMisc>
|
||||||
|
<SLE66AMisc></SLE66AMisc>
|
||||||
|
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||||
|
<SFDFile>$$Device:STM32F103RB$SVD\STM32F103xx.svd</SFDFile>
|
||||||
|
<bCustSvd>0</bCustSvd>
|
||||||
|
<UseEnv>0</UseEnv>
|
||||||
|
<BinPath></BinPath>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
<LibPath></LibPath>
|
||||||
|
<RegisterFilePath></RegisterFilePath>
|
||||||
|
<DBRegisterFilePath></DBRegisterFilePath>
|
||||||
|
<TargetStatus>
|
||||||
|
<Error>0</Error>
|
||||||
|
<ExitCodeStop>0</ExitCodeStop>
|
||||||
|
<ButtonStop>0</ButtonStop>
|
||||||
|
<NotGenerated>0</NotGenerated>
|
||||||
|
<InvalidFlash>1</InvalidFlash>
|
||||||
|
</TargetStatus>
|
||||||
|
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||||
|
<OutputName>gc0307</OutputName>
|
||||||
|
<CreateExecutable>1</CreateExecutable>
|
||||||
|
<CreateLib>0</CreateLib>
|
||||||
|
<CreateHexFile>0</CreateHexFile>
|
||||||
|
<DebugInformation>1</DebugInformation>
|
||||||
|
<BrowseInformation>1</BrowseInformation>
|
||||||
|
<ListingPath>.\Listings\</ListingPath>
|
||||||
|
<HexFormatSelection>1</HexFormatSelection>
|
||||||
|
<Merge32K>0</Merge32K>
|
||||||
|
<CreateBatchFile>0</CreateBatchFile>
|
||||||
|
<BeforeCompile>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopU1X>0</nStopU1X>
|
||||||
|
<nStopU2X>0</nStopU2X>
|
||||||
|
</BeforeCompile>
|
||||||
|
<BeforeMake>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopB1X>0</nStopB1X>
|
||||||
|
<nStopB2X>0</nStopB2X>
|
||||||
|
</BeforeMake>
|
||||||
|
<AfterMake>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopA1X>0</nStopA1X>
|
||||||
|
<nStopA2X>0</nStopA2X>
|
||||||
|
</AfterMake>
|
||||||
|
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||||
|
<SVCSIdString></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></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<DllOption>
|
||||||
|
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||||
|
<SimDllArguments> -REMAP</SimDllArguments>
|
||||||
|
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||||
|
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
|
||||||
|
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||||
|
<TargetDllArguments></TargetDllArguments>
|
||||||
|
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||||
|
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
|
||||||
|
</DllOption>
|
||||||
|
<DebugOption>
|
||||||
|
<OPTHX>
|
||||||
|
<HexSelection>1</HexSelection>
|
||||||
|
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||||
|
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||||
|
<HexOffset>0</HexOffset>
|
||||||
|
<Oh166RecLen>16</Oh166RecLen>
|
||||||
|
</OPTHX>
|
||||||
|
</DebugOption>
|
||||||
|
<Utilities>
|
||||||
|
<Flash1>
|
||||||
|
<UseTargetDll>1</UseTargetDll>
|
||||||
|
<UseExternalTool>0</UseExternalTool>
|
||||||
|
<RunIndependent>0</RunIndependent>
|
||||||
|
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||||
|
<Capability>1</Capability>
|
||||||
|
<DriverSelection>-1</DriverSelection>
|
||||||
|
</Flash1>
|
||||||
|
<bUseTDR>1</bUseTDR>
|
||||||
|
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||||
|
<Flash3></Flash3>
|
||||||
|
<Flash4></Flash4>
|
||||||
|
<pFcarmOut></pFcarmOut>
|
||||||
|
<pFcarmGrp></pFcarmGrp>
|
||||||
|
<pFcArmRoot></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-M3"</AdsCpuType>
|
||||||
|
<RvctDeviceName></RvctDeviceName>
|
||||||
|
<mOS>0</mOS>
|
||||||
|
<uocRom>0</uocRom>
|
||||||
|
<uocRam>0</uocRam>
|
||||||
|
<hadIROM>1</hadIROM>
|
||||||
|
<hadIRAM>1</hadIRAM>
|
||||||
|
<hadXRAM>0</hadXRAM>
|
||||||
|
<uocXRam>0</uocXRam>
|
||||||
|
<RvdsVP>0</RvdsVP>
|
||||||
|
<RvdsMve>0</RvdsMve>
|
||||||
|
<hadIRAM2>0</hadIRAM2>
|
||||||
|
<hadIROM2>0</hadIROM2>
|
||||||
|
<StupSel>8</StupSel>
|
||||||
|
<useUlib>0</useUlib>
|
||||||
|
<EndSel>0</EndSel>
|
||||||
|
<uLtcg>0</uLtcg>
|
||||||
|
<nSecure>0</nSecure>
|
||||||
|
<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>0x20000000</StartAddress>
|
||||||
|
<Size>0x5000</Size>
|
||||||
|
</IRAM>
|
||||||
|
<IROM>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x8000000</StartAddress>
|
||||||
|
<Size>0x20000</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>0x8000000</StartAddress>
|
||||||
|
<Size>0x20000</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>0x20000000</StartAddress>
|
||||||
|
<Size>0x5000</Size>
|
||||||
|
</OCR_RVCT9>
|
||||||
|
<OCR_RVCT10>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT10>
|
||||||
|
</OnChipMemories>
|
||||||
|
<RvctStartVector></RvctStartVector>
|
||||||
|
</ArmAdsMisc>
|
||||||
|
<Cads>
|
||||||
|
<interw>1</interw>
|
||||||
|
<Optim>1</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>
|
||||||
|
<uGnu>1</uGnu>
|
||||||
|
<useXO>0</useXO>
|
||||||
|
<v6Lang>1</v6Lang>
|
||||||
|
<v6LangP>1</v6LangP>
|
||||||
|
<vShortEn>1</vShortEn>
|
||||||
|
<vShortWch>1</vShortWch>
|
||||||
|
<v6Lto>0</v6Lto>
|
||||||
|
<v6WtE>0</v6WtE>
|
||||||
|
<v6Rtti>0</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></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>
|
||||||
|
<uSurpInc>0</uSurpInc>
|
||||||
|
<useXO>0</useXO>
|
||||||
|
<uClangAs>0</uClangAs>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Aads>
|
||||||
|
<LDads>
|
||||||
|
<umfTarg>0</umfTarg>
|
||||||
|
<Ropi>0</Ropi>
|
||||||
|
<Rwpi>0</Rwpi>
|
||||||
|
<noStLib>0</noStLib>
|
||||||
|
<RepFail>1</RepFail>
|
||||||
|
<useFile>0</useFile>
|
||||||
|
<TextAddressRange>0x08000000</TextAddressRange>
|
||||||
|
<DataAddressRange>0x20000000</DataAddressRange>
|
||||||
|
<pXoBase></pXoBase>
|
||||||
|
<ScatterFile></ScatterFile>
|
||||||
|
<IncludeLibs></IncludeLibs>
|
||||||
|
<IncludeLibsPath></IncludeLibsPath>
|
||||||
|
<Misc></Misc>
|
||||||
|
<LinkerInputFile></LinkerInputFile>
|
||||||
|
<DisabledWarnings></DisabledWarnings>
|
||||||
|
</LDads>
|
||||||
|
</TargetArmAds>
|
||||||
|
</TargetOption>
|
||||||
|
<Groups>
|
||||||
|
<Group>
|
||||||
|
<GroupName>Source Group 1</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>stm32f10x_it.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\src\stm32f10x_it.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>main.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\src\main.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>i2c_ee.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\src\i2c_ee.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::CMSIS</GroupName>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Device</GroupName>
|
||||||
|
</Group>
|
||||||
|
</Groups>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
|
||||||
|
<RTE>
|
||||||
|
<apis/>
|
||||||
|
<components>
|
||||||
|
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.3.0" condition="ARMv6_7_8-M Device">
|
||||||
|
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.6.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="GPIO" Cvendor="Keil" Cversion="1.3" condition="STM32F1xx CMSIS">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="StdPeriph Drivers" Csub="DBGMCU" Cvendor="Keil" Cversion="3.5.0" condition="STM32F1xx STDPERIPH">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="StdPeriph Drivers" Csub="Framework" Cvendor="Keil" Cversion="3.5.1" condition="STM32F1xx STDPERIPH">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="StdPeriph Drivers" Csub="GPIO" Cvendor="Keil" Cversion="3.5.0" condition="STM32F1xx STDPERIPH RCC">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="StdPeriph Drivers" Csub="I2C" Cvendor="Keil" Cversion="3.5.0" condition="STM32F1xx STDPERIPH RCC">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="StdPeriph Drivers" Csub="RCC" Cvendor="Keil" Cversion="3.5.0" condition="STM32F1xx STDPERIPH">
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
</components>
|
||||||
|
<files>
|
||||||
|
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h" version="1.1.2">
|
||||||
|
<instance index="0">RTE\Device\STM32F103RB\RTE_Device.h</instance>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" condition="STM32F1xx MD ARMCC" name="Device\Source\ARM\startup_stm32f10x_md.s" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F103RB\startup_stm32f10x_md.s</instance>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="Device\StdPeriph_Driver\templates\stm32f10x_conf.h" version="3.5.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F103RB\stm32f10x_conf.h</instance>
|
||||||
|
<component Cclass="Device" Cgroup="StdPeriph Drivers" Csub="Framework" Cvendor="Keil" Cversion="3.5.1" condition="STM32F1xx STDPERIPH"/>
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="Device\Source\system_stm32f10x.c" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F103RB\system_stm32f10x.c</instance>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
||||||
|
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</RTE>
|
||||||
|
|
||||||
|
</Project>
|
|
@ -0,0 +1,484 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file I2C/EEPROM/i2c_ee.c
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief This file provides a set of functions needed to manage the
|
||||||
|
* communication between I2C peripheral and I2C M24CXX EEPROM.
|
||||||
|
******************************************************************************
|
||||||
|
* @copy
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "i2c_ee.h"
|
||||||
|
|
||||||
|
/** @addtogroup STM32F10x_StdPeriph_Examples
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup I2C_EEPROM
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
|
/* Private define ------------------------------------------------------------*/
|
||||||
|
#define I2C_Speed 200000
|
||||||
|
#define I2C_SLAVE_ADDRESS7 0x42
|
||||||
|
|
||||||
|
#if defined (EE_M24C08)
|
||||||
|
#define I2C_FLASH_PAGESIZE 16
|
||||||
|
#elif defined (EE_M24C64_32)
|
||||||
|
#define I2C_FLASH_PAGESIZE 32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Private macro -------------------------------------------------------------*/
|
||||||
|
/* Private variables ---------------------------------------------------------*/
|
||||||
|
uint16_t EEPROM_ADDRESS;
|
||||||
|
|
||||||
|
/* Private function prototypes -----------------------------------------------*/
|
||||||
|
void GPIO_Configuration(void);
|
||||||
|
void I2C_Configuration(void);
|
||||||
|
|
||||||
|
/* Private functions ---------------------------------------------------------*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configure the used I/O ports pin
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void GPIO_Configuration(void)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
|
|
||||||
|
/* Configure I2C_EE pins: SCL and SDA */
|
||||||
|
GPIO_InitStructure.GPIO_Pin = I2C_EE_SCL | I2C_EE_SDA;
|
||||||
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||||
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
|
||||||
|
GPIO_Init(I2C_EE_GPIO, &GPIO_InitStructure);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief I2C Configuration
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_Configuration(void)
|
||||||
|
{
|
||||||
|
I2C_InitTypeDef I2C_InitStructure;
|
||||||
|
|
||||||
|
/* I2C configuration */
|
||||||
|
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
|
||||||
|
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
|
||||||
|
I2C_InitStructure.I2C_OwnAddress1 = I2C_SLAVE_ADDRESS7;
|
||||||
|
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
|
||||||
|
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
|
||||||
|
I2C_InitStructure.I2C_ClockSpeed = 10000;
|
||||||
|
|
||||||
|
/* I2C Peripheral Enable */
|
||||||
|
I2C_Cmd(I2C_EE, ENABLE);
|
||||||
|
/* Apply I2C configuration after enabling it */
|
||||||
|
I2C_Init(I2C_EE, &I2C_InitStructure);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initializes peripherals used by the I2C EEPROM driver.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_EE_Init()
|
||||||
|
{
|
||||||
|
/* I2C Periph clock enable */
|
||||||
|
RCC_APB1PeriphClockCmd(I2C_EE_CLK, ENABLE);
|
||||||
|
|
||||||
|
/* GPIO Periph clock enable */
|
||||||
|
RCC_APB2PeriphClockCmd(I2C_EE_GPIO_CLK, ENABLE);
|
||||||
|
|
||||||
|
/* GPIO configuration */
|
||||||
|
GPIO_Configuration();
|
||||||
|
|
||||||
|
/* I2C configuration */
|
||||||
|
I2C_Configuration();
|
||||||
|
|
||||||
|
#if defined (EE_M24C64_32)
|
||||||
|
/* Select the EEPROM address according to the state of E0, E1, E2 pins */
|
||||||
|
EEPROM_ADDRESS = EEPROM_HW_ADDRESS;
|
||||||
|
#elif defined (EE_M24C08)
|
||||||
|
/* depending on the EEPROM Address selected in the i2c_ee.h file */
|
||||||
|
#ifdef EEPROM_Block0_ADDRESS
|
||||||
|
/* Select the EEPROM Block0 to write on */
|
||||||
|
EEPROM_ADDRESS = EEPROM_Block0_ADDRESS;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef EEPROM_Block1_ADDRESS
|
||||||
|
/* Select the EEPROM Block1 to write on */
|
||||||
|
EEPROM_ADDRESS = EEPROM_Block1_ADDRESS;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef EEPROM_Block2_ADDRESS
|
||||||
|
/* Select the EEPROM Block2 to write on */
|
||||||
|
EEPROM_ADDRESS = EEPROM_Block2_ADDRESS;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef EEPROM_Block3_ADDRESS
|
||||||
|
/* Select the EEPROM Block3 to write on */
|
||||||
|
EEPROM_ADDRESS = EEPROM_Block3_ADDRESS;
|
||||||
|
#endif
|
||||||
|
#endif /* EE_M24C64_32 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Writes one byte to the I2C EEPROM.
|
||||||
|
* @param pBuffer : pointer to the buffer containing the data to be
|
||||||
|
* written to the EEPROM.
|
||||||
|
* @param WriteAddr : EEPROM's internal address to write to.
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_EE_ByteWrite(uint8_t* pBuffer, uint16_t WriteAddr)
|
||||||
|
{
|
||||||
|
/* Send STRAT condition */
|
||||||
|
I2C_GenerateSTART(I2C_EE, ENABLE);
|
||||||
|
|
||||||
|
/* Test on EV5 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_MODE_SELECT));
|
||||||
|
|
||||||
|
/* Send EEPROM address for write */
|
||||||
|
I2C_Send7bitAddress(I2C_EE, EEPROM_ADDRESS, I2C_Direction_Transmitter);
|
||||||
|
|
||||||
|
/* Test on EV6 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
|
||||||
|
|
||||||
|
#ifdef EE_M24C08
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to write to : only one byte Address */
|
||||||
|
I2C_SendData(I2C_EE, WriteAddr);
|
||||||
|
|
||||||
|
#elif defined(EE_M24C64_32)
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to write to : MSB of the address first */
|
||||||
|
I2C_SendData(I2C_EE, (uint8_t)((WriteAddr & 0xFF00) >> 8));
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to write to : LSB of the address */
|
||||||
|
I2C_SendData(I2C_EE, (uint8_t)(WriteAddr & 0x00FF));
|
||||||
|
|
||||||
|
#endif /* EE_M24C08 */
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* Send the byte to be written */
|
||||||
|
I2C_SendData(I2C_EE, *pBuffer);
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* Send STOP condition */
|
||||||
|
I2C_GenerateSTOP(I2C_EE, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Reads a block of data from the EEPROM.
|
||||||
|
* @param pBuffer : pointer to the buffer that receives the data read
|
||||||
|
* from the EEPROM.
|
||||||
|
* @param ReadAddr : EEPROM's internal address to read from.
|
||||||
|
* @param NumByteToRead : number of bytes to read from the EEPROM.
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_EE_BufferRead(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t NumByteToRead)
|
||||||
|
{
|
||||||
|
/* While the bus is busy */
|
||||||
|
while(I2C_GetFlagStatus(I2C_EE, I2C_FLAG_BUSY));
|
||||||
|
|
||||||
|
/* Send START condition */
|
||||||
|
I2C_GenerateSTART(I2C_EE, ENABLE);
|
||||||
|
|
||||||
|
/* Test on EV5 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_MODE_SELECT));
|
||||||
|
|
||||||
|
/* Send EEPROM address for write */
|
||||||
|
I2C_Send7bitAddress(I2C_EE, 0x42, I2C_Direction_Transmitter);
|
||||||
|
|
||||||
|
/* Test on EV6 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
|
||||||
|
|
||||||
|
/* Clear EV6 by setting again the PE bit */
|
||||||
|
I2C_Cmd(I2C_EE, ENABLE);
|
||||||
|
|
||||||
|
#ifdef EE_M24C08
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to read from: Only one byte address */
|
||||||
|
I2C_SendData(I2C_EE, ReadAddr);
|
||||||
|
|
||||||
|
#elif defined (EE_M24C64_32)
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to read from: MSB of the address first */
|
||||||
|
I2C_SendData(I2C_EE, (uint8_t)((ReadAddr & 0xFF00) >> 8));
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to read from: LSB of the address */
|
||||||
|
I2C_SendData(I2C_EE, (uint8_t)(ReadAddr & 0x00FF));
|
||||||
|
|
||||||
|
#endif /* EE_M24C08 */
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* Send STRAT condition a second time */
|
||||||
|
I2C_GenerateSTART(I2C_EE, ENABLE);
|
||||||
|
|
||||||
|
/* Test on EV5 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_MODE_SELECT));
|
||||||
|
|
||||||
|
/* Send EEPROM address for read */
|
||||||
|
I2C_Send7bitAddress(I2C_EE, 0x42, I2C_Direction_Receiver);
|
||||||
|
|
||||||
|
/* Test on EV6 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));
|
||||||
|
|
||||||
|
/* While there is data to be read */
|
||||||
|
while(NumByteToRead)
|
||||||
|
{
|
||||||
|
if(NumByteToRead == 1)
|
||||||
|
{
|
||||||
|
/* Disable Acknowledgement */
|
||||||
|
I2C_AcknowledgeConfig(I2C_EE, DISABLE);
|
||||||
|
|
||||||
|
/* Send STOP Condition */
|
||||||
|
I2C_GenerateSTOP(I2C_EE, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Test on EV7 and clear it */
|
||||||
|
if(I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_RECEIVED))
|
||||||
|
{
|
||||||
|
/* Read a byte from the EEPROM */
|
||||||
|
*pBuffer = I2C_ReceiveData(I2C_EE);
|
||||||
|
|
||||||
|
/* Point to the next location where the byte read will be saved */
|
||||||
|
pBuffer++;
|
||||||
|
|
||||||
|
/* Decrement the read bytes counter */
|
||||||
|
NumByteToRead--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Enable Acknowledgement to be ready for another reception */
|
||||||
|
I2C_AcknowledgeConfig(I2C_EE, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Writes buffer of data to the I2C EEPROM.
|
||||||
|
* @param pBuffer : pointer to the buffer containing the data to be
|
||||||
|
* written to the EEPROM.
|
||||||
|
* @param WriteAddr : EEPROM's internal address to write to.
|
||||||
|
* @param NumByteToWrite : number of bytes to write to the EEPROM.
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_EE_BufferWrite(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite)
|
||||||
|
{
|
||||||
|
uint8_t NumOfPage = 0, NumOfSingle = 0, count = 0;
|
||||||
|
uint16_t Addr = 0;
|
||||||
|
|
||||||
|
Addr = WriteAddr % I2C_FLASH_PAGESIZE;
|
||||||
|
count = I2C_FLASH_PAGESIZE - Addr;
|
||||||
|
NumOfPage = NumByteToWrite / I2C_FLASH_PAGESIZE;
|
||||||
|
NumOfSingle = NumByteToWrite % I2C_FLASH_PAGESIZE;
|
||||||
|
|
||||||
|
/* If WriteAddr is I2C_FLASH_PAGESIZE aligned */
|
||||||
|
if(Addr == 0)
|
||||||
|
{
|
||||||
|
/* If NumByteToWrite < I2C_FLASH_PAGESIZE */
|
||||||
|
if(NumOfPage == 0)
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, NumOfSingle);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
}
|
||||||
|
/* If NumByteToWrite > I2C_FLASH_PAGESIZE */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while(NumOfPage--)
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, I2C_FLASH_PAGESIZE);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
WriteAddr += I2C_FLASH_PAGESIZE;
|
||||||
|
pBuffer += I2C_FLASH_PAGESIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(NumOfSingle!=0)
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, NumOfSingle);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* If WriteAddr is not I2C_FLASH_PAGESIZE aligned */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* If NumByteToWrite < I2C_FLASH_PAGESIZE */
|
||||||
|
if(NumOfPage== 0)
|
||||||
|
{
|
||||||
|
/* If the number of data to be written is more than the remaining space
|
||||||
|
in the current page: */
|
||||||
|
if (NumByteToWrite > count)
|
||||||
|
{
|
||||||
|
/* Write the data conained in same page */
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, count);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
|
||||||
|
/* Write the remaining data in the following page */
|
||||||
|
I2C_EE_PageWrite((uint8_t*)(pBuffer + count), (WriteAddr + count), (NumByteToWrite - count));
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, NumOfSingle);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* If NumByteToWrite > I2C_FLASH_PAGESIZE */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NumByteToWrite -= count;
|
||||||
|
NumOfPage = NumByteToWrite / I2C_FLASH_PAGESIZE;
|
||||||
|
NumOfSingle = NumByteToWrite % I2C_FLASH_PAGESIZE;
|
||||||
|
|
||||||
|
if(count != 0)
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, count);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
WriteAddr += count;
|
||||||
|
pBuffer += count;
|
||||||
|
}
|
||||||
|
|
||||||
|
while(NumOfPage--)
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, I2C_FLASH_PAGESIZE);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
WriteAddr += I2C_FLASH_PAGESIZE;
|
||||||
|
pBuffer += I2C_FLASH_PAGESIZE;
|
||||||
|
}
|
||||||
|
if(NumOfSingle != 0)
|
||||||
|
{
|
||||||
|
I2C_EE_PageWrite(pBuffer, WriteAddr, NumOfSingle);
|
||||||
|
I2C_EE_WaitEepromStandbyState();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Writes more than one byte to the EEPROM with a single WRITE cycle.
|
||||||
|
* @note The number of byte can't exceed the EEPROM page size.
|
||||||
|
* @param pBuffer : pointer to the buffer containing the data to be
|
||||||
|
* written to the EEPROM.
|
||||||
|
* @param WriteAddr : EEPROM's internal address to write to.
|
||||||
|
* @param NumByteToWrite : number of bytes to write to the EEPROM.
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_EE_PageWrite(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t NumByteToWrite)
|
||||||
|
{
|
||||||
|
/* While the bus is busy */
|
||||||
|
while(I2C_GetFlagStatus(I2C_EE, I2C_FLAG_BUSY));
|
||||||
|
|
||||||
|
/* Send START condition */
|
||||||
|
I2C_GenerateSTART(I2C_EE, ENABLE);
|
||||||
|
|
||||||
|
/* Test on EV5 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_MODE_SELECT));
|
||||||
|
|
||||||
|
/* Send EEPROM address for write */
|
||||||
|
I2C_Send7bitAddress(I2C_EE, EEPROM_ADDRESS, I2C_Direction_Transmitter);
|
||||||
|
|
||||||
|
/* Test on EV6 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
|
||||||
|
|
||||||
|
#ifdef EE_M24C08
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to write to : only one byte Address */
|
||||||
|
I2C_SendData(I2C_EE, WriteAddr);
|
||||||
|
|
||||||
|
#elif defined(EE_M24C64_32)
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to write to : MSB of the address first */
|
||||||
|
I2C_SendData(I2C_EE, (uint8_t)((WriteAddr & 0xFF00) >> 8));
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* Send the EEPROM's internal address to write to : LSB of the address */
|
||||||
|
I2C_SendData(I2C_EE, (uint8_t)(WriteAddr & 0x00FF));
|
||||||
|
|
||||||
|
#endif /* EE_M24C08 */
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while(! I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
|
/* While there is data to be written */
|
||||||
|
while(NumByteToWrite--)
|
||||||
|
{
|
||||||
|
/* Send the current byte */
|
||||||
|
I2C_SendData(I2C_EE, *pBuffer);
|
||||||
|
|
||||||
|
/* Point to the next byte to be written */
|
||||||
|
pBuffer++;
|
||||||
|
|
||||||
|
/* Test on EV8 and clear it */
|
||||||
|
while (!I2C_CheckEvent(I2C_EE, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Send STOP condition */
|
||||||
|
I2C_GenerateSTOP(I2C_EE, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Wait for EEPROM Standby state
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void I2C_EE_WaitEepromStandbyState(void)
|
||||||
|
{
|
||||||
|
__IO uint16_t SR1_Tmp = 0;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
/* Send START condition */
|
||||||
|
I2C_GenerateSTART(I2C_EE, ENABLE);
|
||||||
|
|
||||||
|
/* Read I2C_EE SR1 register to clear pending flags */
|
||||||
|
SR1_Tmp = I2C_ReadRegister(I2C_EE, I2C_Register_SR1);
|
||||||
|
|
||||||
|
/* Send EEPROM address for write */
|
||||||
|
I2C_Send7bitAddress(I2C_EE, EEPROM_ADDRESS, I2C_Direction_Transmitter);
|
||||||
|
|
||||||
|
}while(!(I2C_ReadRegister(I2C_EE, I2C_Register_SR1) & 0x0002));
|
||||||
|
|
||||||
|
/* Clear AF flag */
|
||||||
|
I2C_ClearFlag(I2C_EE, I2C_FLAG_AF);
|
||||||
|
|
||||||
|
/* STOP condition */
|
||||||
|
I2C_GenerateSTOP(I2C_EE, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
|
|
@ -0,0 +1,75 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file I2C/EEPROM/i2c_ee.h
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief Header for i2c_ee.c module
|
||||||
|
******************************************************************************
|
||||||
|
* @copy
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Define to prevent recursive inclusion ------------------------------------ */
|
||||||
|
#ifndef __I2C_EE_H
|
||||||
|
#define __I2C_EE_H
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
/* Exported constants --------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* Use the defines below the choose the EEPROM type */
|
||||||
|
//#define EE_M24C08 /* Support the device: M24C08. */
|
||||||
|
/* note: Could support: M24C01, M24C02, M24C04 and M24C16 if the blocks and
|
||||||
|
HW address are correctly defined*/
|
||||||
|
#define EE_M24C08 /* Support the devices: M24C32 and M24C64 */
|
||||||
|
|
||||||
|
/* Defines for the GPIO pins used for the I2C communication */
|
||||||
|
#define I2C_EE I2C1
|
||||||
|
#define I2C_EE_CLK RCC_APB1Periph_I2C1
|
||||||
|
#define I2C_EE_GPIO GPIOB
|
||||||
|
#define I2C_EE_GPIO_CLK RCC_APB2Periph_GPIOB
|
||||||
|
#define I2C_EE_SCL GPIO_Pin_6
|
||||||
|
#define I2C_EE_SDA GPIO_Pin_7
|
||||||
|
|
||||||
|
#ifdef EE_M24C64_32
|
||||||
|
/* For M24C32 and M24C64 devices, E0,E1 and E2 pins are all used for device
|
||||||
|
address selection (ne need for additional address lines). According to the
|
||||||
|
Harware connection on the board (on STM3210C-EVAL board E0 = E1 = E2 = 0) */
|
||||||
|
|
||||||
|
#define EEPROM_HW_ADDRESS 0xA0 /* E0 = E1 = E2 = 0 */
|
||||||
|
|
||||||
|
#elif defined (EE_M24C08)
|
||||||
|
/* The M24C08W contains 4 blocks (128byte each) with the adresses below: E2 = 0
|
||||||
|
EEPROM Addresses defines */
|
||||||
|
#define EEPROM_Block0_ADDRESS 0xA0 /* E2 = 0 */
|
||||||
|
//#define EEPROM_Block1_ADDRESS 0xA2 /* E2 = 0 */
|
||||||
|
//#define EEPROM_Block2_ADDRESS 0xA4 /* E2 = 0 */
|
||||||
|
//#define EEPROM_Block3_ADDRESS 0xA6 /* E2 = 0 */
|
||||||
|
|
||||||
|
#endif /* EE_M24C64_32 */
|
||||||
|
|
||||||
|
/* Exported macro ------------------------------------------------------------*/
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
void I2C_EE_Init(void);
|
||||||
|
void I2C_EE_ByteWrite(uint8_t* pBuffer, uint16_t WriteAddr);
|
||||||
|
void I2C_EE_PageWrite(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t NumByteToWrite);
|
||||||
|
void I2C_EE_BufferWrite(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite);
|
||||||
|
void I2C_EE_BufferRead(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t NumByteToRead);
|
||||||
|
void I2C_EE_WaitEepromStandbyState(void);
|
||||||
|
|
||||||
|
#endif /* __I2C_EE_H */
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,189 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file I2C/EEPROM/main.c
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief Main program body
|
||||||
|
******************************************************************************
|
||||||
|
* @copy
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "i2c_ee.h"
|
||||||
|
|
||||||
|
/** @addtogroup STM32F10x_StdPeriph_Examples
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup I2C_EEPROM
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
|
typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;
|
||||||
|
|
||||||
|
/* Private define ------------------------------------------------------------*/
|
||||||
|
#define EEPROM_WriteAddress1 0x4
|
||||||
|
#define EEPROM_ReadAddress1 0x00
|
||||||
|
#define BufferSize1 (countof(Tx1_Buffer)-1)
|
||||||
|
#define BufferSize2 (countof(Tx2_Buffer)-1)
|
||||||
|
#define EEPROM_WriteAddress2 (EEPROM_WriteAddress1 + BufferSize1)
|
||||||
|
#define EEPROM_ReadAddress2 (EEPROM_ReadAddress1 + BufferSize1)
|
||||||
|
|
||||||
|
/* Private macro -------------------------------------------------------------*/
|
||||||
|
#define countof(a) (sizeof(a) / sizeof(*(a)))
|
||||||
|
|
||||||
|
/* Private variables ---------------------------------------------------------*/
|
||||||
|
uint8_t Tx1_Buffer[] = "/* STM32F10x I2C Firmware ";
|
||||||
|
uint8_t Tx2_Buffer[] = "Library Example */";
|
||||||
|
uint8_t Rx1_Buffer[BufferSize1], Rx2_Buffer[BufferSize2];
|
||||||
|
volatile TestStatus TransferStatus1 = FAILED, TransferStatus2 = FAILED;
|
||||||
|
|
||||||
|
/* Private functions ---------------------------------------------------------*/
|
||||||
|
void RCC_Configuration(void);
|
||||||
|
TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void I2C_GPIO_Config()
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
|
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
|
||||||
|
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
|
||||||
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||||
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
|
||||||
|
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||||
|
}
|
||||||
|
|
||||||
|
void I2C1_Init()
|
||||||
|
{
|
||||||
|
I2C_InitTypeDef I2C_InitStructure;
|
||||||
|
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
|
||||||
|
I2C_DeInit(I2C1);
|
||||||
|
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
|
||||||
|
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
|
||||||
|
I2C_InitStructure.I2C_OwnAddress1 = 0x21;
|
||||||
|
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
|
||||||
|
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
|
||||||
|
I2C_InitStructure.I2C_ClockSpeed = 10000;
|
||||||
|
I2C_Init(I2C1, &I2C_InitStructure);
|
||||||
|
I2C_Cmd(I2C1, ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 I2C1_Read(u8 nAddr)
|
||||||
|
{
|
||||||
|
I2C_AcknowledgeConfig(I2C1,ENABLE); //????
|
||||||
|
I2C_GenerateSTART(I2C1,ENABLE); //???????
|
||||||
|
while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT)){;} //??EV5
|
||||||
|
I2C_Send7bitAddress(I2C1,0x21,I2C_Direction_Receiver); //????????
|
||||||
|
while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)){;}//??EV6
|
||||||
|
I2C_SendData(I2C1,nAddr);//?????
|
||||||
|
while(!I2C_CheckEvent(I2C1,I2C_Direction_Receiver)){;} //??EV8
|
||||||
|
|
||||||
|
I2C_GenerateSTART(I2C1,ENABLE); //???????
|
||||||
|
while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT)){;} //??EV5
|
||||||
|
I2C_Send7bitAddress(I2C1,0x21,I2C_Direction_Transmitter); //???????
|
||||||
|
while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)){;} //??EV6
|
||||||
|
I2C_AcknowledgeConfig(I2C1,DISABLE); //??????
|
||||||
|
I2C_GenerateSTOP(I2C1,ENABLE); //???????
|
||||||
|
while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_RECEIVED)){;} //??EV7
|
||||||
|
return I2C_ReceiveData(I2C1); //???????
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Main program
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
/* System clocks configuration ---------------------------------------------*/
|
||||||
|
RCC_Configuration();
|
||||||
|
I2C_GPIO_Config();
|
||||||
|
/* Initialize the I2C EEPROM driver ----------------------------------------*/
|
||||||
|
I2C1_Init();
|
||||||
|
|
||||||
|
uint8_t buf = I2C1_Read(0x00);
|
||||||
|
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configures the different system clocks.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void RCC_Configuration(void)
|
||||||
|
{
|
||||||
|
/* Setup the microcontroller system. Initialize the Embedded Flash Interface,
|
||||||
|
initialize the PLL and update the SystemFrequency variable. */
|
||||||
|
SystemInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compares two buffers.
|
||||||
|
* @param pBuffer1, pBuffer2: buffers to be compared.
|
||||||
|
* @param BufferLength: buffer's length
|
||||||
|
* @retval PASSED: pBuffer1 identical to pBuffer2
|
||||||
|
* FAILED: pBuffer1 differs from pBuffer2
|
||||||
|
*/
|
||||||
|
TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength)
|
||||||
|
{
|
||||||
|
while(BufferLength--)
|
||||||
|
{
|
||||||
|
if(*pBuffer1 != *pBuffer2)
|
||||||
|
{
|
||||||
|
return FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
pBuffer1++;
|
||||||
|
pBuffer2++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return PASSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
#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 can add his own implementation to report the file name and line number,
|
||||||
|
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
|
||||||
|
|
||||||
|
/* Infinite loop */
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
|
|
@ -0,0 +1,123 @@
|
||||||
|
/**
|
||||||
|
@page I2C_EEPROM I2C_EEPROM
|
||||||
|
|
||||||
|
@verbatim
|
||||||
|
******************** (C) COPYRIGHT 2009 STMicroelectronics *******************
|
||||||
|
* @file I2C/M24C08_EEPROM/readme.txt
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief Description of the I2C and M24C08 EEPROM communication example.
|
||||||
|
******************************************************************************
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
******************************************************************************
|
||||||
|
@endverbatim
|
||||||
|
|
||||||
|
@par Example Description
|
||||||
|
|
||||||
|
This example provides a basic example of how to use the I2C software library and
|
||||||
|
an associate I2C EEPROM driver to communicate with an I2C EEPROM device (here the
|
||||||
|
example is interfacing with M24CXX EEPROMs where XX={01, 02, 04, 08, 16, 32, 64}.
|
||||||
|
|
||||||
|
I2C peripheral is configured in Master transmitter during write operation and in
|
||||||
|
Master receiver during read operation from I2C EEPROM.
|
||||||
|
|
||||||
|
The peripheral used is I2C1 but can be configured by modifying the defines values
|
||||||
|
in i2c_ee.h file. The speed is set to 200kHz.
|
||||||
|
|
||||||
|
For E24C02 to E24C16 devices, one I2C EEPROM Block address where the program will
|
||||||
|
write the buffer have to be selected from the four address available and defined
|
||||||
|
in the i2c_ee.h file.
|
||||||
|
|
||||||
|
For E24C32 and E24C64 devices all the memory is accessible through the two-bytes
|
||||||
|
addressing mode and need to define block addresses. In this case, only the physical
|
||||||
|
address has to be defined (according to the address pins (E0,E1 and E2) connection).
|
||||||
|
This address is defined in i2c_ee.h (default is 0xA0: E0, E1 and E2 tied to ground).
|
||||||
|
The EEPROM addresses where the program start the write and the read operations
|
||||||
|
is defined in the main.c file.
|
||||||
|
|
||||||
|
First, the content of Tx1_Buffer is written to the EEPROM_WriteAddress1 and the
|
||||||
|
written data are read. The written and the read buffers data are then compared.
|
||||||
|
Following the read operation, the program wait that the EEPROM reverts to its
|
||||||
|
Standby state. A second write operation is, then, performed and this time, Tx2_Buffer
|
||||||
|
is written to EEPROM_WriteAddress2, which represents the address just after the last
|
||||||
|
written one in the first write. After completion of the second write operation, the
|
||||||
|
written data are read. The contents of the written and the read buffers are compared.
|
||||||
|
|
||||||
|
|
||||||
|
@par Directory contents
|
||||||
|
|
||||||
|
- I2C/EEPROM/stm32f10x_conf.h Library Configuration file
|
||||||
|
- I2C/EEPROM/stm32f10x_it.c Interrupt handlers
|
||||||
|
- I2C/EEPROM/stm32f10x_it.h Interrupt handlers header file
|
||||||
|
- I2C/EEPROM/main.c Main program
|
||||||
|
- I2C/EEPROM/i2c_ee.c I2C EEPROM driver
|
||||||
|
- I2C/EEPROM/i2c_ee.h Header for the i2c_ee.c file
|
||||||
|
|
||||||
|
@par Hardware and Software environment
|
||||||
|
|
||||||
|
- This example runs on STM32F10x High-Density, STM32F10x Medium-Density,
|
||||||
|
STM32F10x Low-Density and STM32F10x Connectivity-Line devices.
|
||||||
|
|
||||||
|
- This example has been tested with STM3210C-EVAL (STM32F10x Connectivity-Line)
|
||||||
|
evaluation board (implemented EEPROM is E24C64) with no additional hardware.
|
||||||
|
This example has also been tested with STMicroelectronics STM3210E-EVAL
|
||||||
|
(STM32F10x High-Density) and STM3210B-EVAL (STM32F10x Medium-Density) evaluation
|
||||||
|
boards with addition of the hardware connection listed below, and can be easily
|
||||||
|
tailored to any other supported device and development board.
|
||||||
|
|
||||||
|
- STM3210C-EVAL Set-up
|
||||||
|
- Make sure the Jumper JP9 "I2C_SCK" is connected on the board.
|
||||||
|
- For write operations, make sure the jumper JP17 "ROM_WP" is connected on the
|
||||||
|
board (If this jumper is not connected, the EEPROM will be write-protected).
|
||||||
|
- No additional Hardware connections are needed.
|
||||||
|
|
||||||
|
- STM3210E-EVAL, STM3210B-EVAL or any other platform Set-up
|
||||||
|
- Connect I2C1 SCL pin (PB.06) to I2C EEPROM SCL (pin6)
|
||||||
|
- Connect I2C1 SDA pin (PB.07) to I2C EEPROM SDA (pin5)
|
||||||
|
- Check that a pull-up resistor (4.7K) is connected on one I2C SDA pin
|
||||||
|
- Check that a pull-up resistor (4.7K) is connected on one I2C SCL pin
|
||||||
|
- Connect I2C EEPROM Vcc (pin8) to Vdd
|
||||||
|
- Connect I2C EEPROM Vss (pin4) to Vss
|
||||||
|
- For E24C08: Connect I2C EEPROM E2 (pin1) to Vss for E24C08
|
||||||
|
- For E24C64/E24C32: Connect I2C EEPROM E0, E1 and E2 (pin1, pin2 and pin3) to Vss
|
||||||
|
|
||||||
|
@note The pull-up resitors are already implemented on the STM3210B-EVAL and
|
||||||
|
STM3210E-EVAL evaluation boards.
|
||||||
|
|
||||||
|
|
||||||
|
@par How to use it ?
|
||||||
|
|
||||||
|
In order to make the program work, you must do the following :
|
||||||
|
- Create a project and setup all project configuration
|
||||||
|
- Add the required Library files :
|
||||||
|
- stm32f10x_i2c.c
|
||||||
|
- stm32f10x_rcc.c
|
||||||
|
- stm32f10x_gpio.c
|
||||||
|
- system_stm32f10x.c (under Libraries\CMSIS\Core\CM3)
|
||||||
|
|
||||||
|
- Edit stm32f10x.h file to select the device you are working on.
|
||||||
|
|
||||||
|
@b Tip: You can tailor the provided project template to run this example, for
|
||||||
|
more details please refer to "stm32f10x_stdperiph_lib_um.chm" user
|
||||||
|
manual; select "Peripheral Examples" then follow the instructions
|
||||||
|
provided in "How to proceed" section.
|
||||||
|
- Link all compiled files and load your image into target memory
|
||||||
|
- Run the example
|
||||||
|
|
||||||
|
@note
|
||||||
|
- Low-density devices are STM32F101xx and STM32F103xx microcontrollers where
|
||||||
|
the Flash memory density ranges between 16 and 32 Kbytes.
|
||||||
|
- Medium-density devices are STM32F101xx and STM32F103xx microcontrollers where
|
||||||
|
the Flash memory density ranges between 32 and 128 Kbytes.
|
||||||
|
- High-density devices are STM32F101xx and STM32F103xx microcontrollers where
|
||||||
|
the Flash memory density ranges between 256 and 512 Kbytes.
|
||||||
|
- Connectivity-Line devices are STM32F105xx and STM32F107xx microcontrollers.
|
||||||
|
|
||||||
|
* <h3><center>© COPYRIGHT 2009 STMicroelectronics</center></h3>
|
||||||
|
*/
|
|
@ -0,0 +1,76 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file I2C/EEPROM/stm32f10x_conf.h
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief Library configuration file.
|
||||||
|
******************************************************************************
|
||||||
|
* @copy
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
|
#ifndef __STM32F10x_CONF_H
|
||||||
|
#define __STM32F10x_CONF_H
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
/* Uncomment the line below to enable peripheral header file inclusion */
|
||||||
|
/* #include "stm32f10x_adc.h" */
|
||||||
|
/* #include "stm32f10x_bkp.h" */
|
||||||
|
/* #include "stm32f10x_can.h" */
|
||||||
|
/* #include "stm32f10x_crc.h" */
|
||||||
|
/* #include "stm32f10x_dac.h" */
|
||||||
|
/* #include "stm32f10x_dbgmcu.h" */
|
||||||
|
/* #include "stm32f10x_dma.h" */
|
||||||
|
/* #include "stm32f10x_exti.h" */
|
||||||
|
/* #include "stm32f10x_flash.h" */
|
||||||
|
/* #include "stm32f10x_fsmc.h" */
|
||||||
|
#include "stm32f10x_gpio.h"
|
||||||
|
#include "stm32f10x_i2c.h"
|
||||||
|
/* #include "stm32f10x_iwdg.h" */
|
||||||
|
/* #include "stm32f10x_pwr.h" */
|
||||||
|
#include "stm32f10x_rcc.h"
|
||||||
|
/* #include "stm32f10x_rtc.h" */
|
||||||
|
/* #include "stm32f10x_sdio.h" */
|
||||||
|
/* #include "stm32f10x_spi.h" */
|
||||||
|
/* #include "stm32f10x_tim.h" */
|
||||||
|
/* #include "stm32f10x_usart.h" */
|
||||||
|
/* #include "stm32f10x_wwdg.h" */
|
||||||
|
/* #include "misc.h" */ /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */
|
||||||
|
|
||||||
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
/* Exported constants --------------------------------------------------------*/
|
||||||
|
/* Uncomment the line below to expanse the "assert_param" macro in the
|
||||||
|
Standard Peripheral Library drivers code */
|
||||||
|
/* #define USE_FULL_ASSERT 1 */
|
||||||
|
|
||||||
|
/* 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)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
void assert_failed(uint8_t* file, uint32_t line);
|
||||||
|
#else
|
||||||
|
#define assert_param(expr) ((void)0)
|
||||||
|
#endif /* USE_FULL_ASSERT */
|
||||||
|
|
||||||
|
#endif /* __STM32F10x_CONF_H */
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
|
|
@ -0,0 +1,166 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file I2C/EEPROM/stm32f10x_it.c
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief Main Interrupt Service Routines.
|
||||||
|
* This file provides template for all exceptions handler and
|
||||||
|
* peripherals interrupt service routine.
|
||||||
|
******************************************************************************
|
||||||
|
* @copy
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "stm32f10x_it.h"
|
||||||
|
|
||||||
|
/** @addtogroup STM32F10x_StdPeriph_Examples
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup I2C_EEPROM
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
|
/* Private define ------------------------------------------------------------*/
|
||||||
|
/* Private macro -------------------------------------------------------------*/
|
||||||
|
/* Private variables ---------------------------------------------------------*/
|
||||||
|
/* Private function prototypes -----------------------------------------------*/
|
||||||
|
/* Private functions ---------------------------------------------------------*/
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
/* Cortex-M3 Processor Exceptions Handlers */
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles NMI exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void NMI_Handler(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles Hard Fault exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HardFault_Handler(void)
|
||||||
|
{
|
||||||
|
/* Go to infinite loop when Hard Fault exception occurs */
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles Memory Manage exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void MemManage_Handler(void)
|
||||||
|
{
|
||||||
|
/* Go to infinite loop when Memory Manage exception occurs */
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles Bus Fault exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void BusFault_Handler(void)
|
||||||
|
{
|
||||||
|
/* Go to infinite loop when Bus Fault exception occurs */
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles Usage Fault exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void UsageFault_Handler(void)
|
||||||
|
{
|
||||||
|
/* Go to infinite loop when Usage Fault exception occurs */
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles SVCall exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void SVC_Handler(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles Debug Monitor exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void DebugMon_Handler(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles PendSV_Handler exception.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void PendSV_Handler(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles SysTick Handler.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void SysTick_Handler(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
/* STM32F10x Peripherals Interrupt Handlers */
|
||||||
|
/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
|
||||||
|
/* available peripheral interrupt handler's name please refer to the startup */
|
||||||
|
/* file (startup_stm32f10x_xx.s). */
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles PPP interrupt request.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
/*void PPP_IRQHandler(void)
|
||||||
|
{
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
|
|
@ -0,0 +1,45 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file I2C/EEPROM/stm32f10x_it.h
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V3.1.0
|
||||||
|
* @date 06/19/2009
|
||||||
|
* @brief This file contains the headers of the interrupt handlers.
|
||||||
|
******************************************************************************
|
||||||
|
* @copy
|
||||||
|
*
|
||||||
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||||
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||||||
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||||||
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||||||
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
|
#ifndef __STM32F10x_IT_H
|
||||||
|
#define __STM32F10x_IT_H
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
/* Exported constants --------------------------------------------------------*/
|
||||||
|
/* Exported macro ------------------------------------------------------------*/
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
#endif /* __STM32F10x_IT_H */
|
||||||
|
|
||||||
|
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
|
|
@ -125,7 +125,7 @@
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>DLGTARM</Key>
|
<Key>DLGTARM</Key>
|
||||||
<Name>(1010=868,138,1318,695,1)(1007=105,177,292,452,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
|
<Name>(1010=868,138,1318,695,0)(1007=105,177,292,452,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
|
@ -152,9 +152,9 @@
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>115</LineNumber>
|
<LineNumber>119</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>134221344</Address>
|
<Address>134221580</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
|
@ -163,14 +163,14 @@
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>.\std\main.c</Filename>
|
<Filename>.\std\main.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression>\\st_nand\std/main.c\115</Expression>
|
<Expression>\\st_nand\std/main.c\119</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>1</Number>
|
<Number>1</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>110</LineNumber>
|
<LineNumber>118</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>134221284</Address>
|
<Address>134221562</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
|
@ -179,14 +179,14 @@
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>.\std\main.c</Filename>
|
<Filename>.\std\main.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression>\\st_nand\std/main.c\110</Expression>
|
<Expression>\\st_nand\std/main.c\118</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>2</Number>
|
<Number>2</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>99</LineNumber>
|
<LineNumber>113</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>134221222</Address>
|
<Address>134221502</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
|
@ -195,14 +195,62 @@
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>.\std\main.c</Filename>
|
<Filename>.\std\main.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression>\\st_nand\std/main.c\99</Expression>
|
<Expression>\\st_nand\std/main.c\113</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>3</Number>
|
<Number>3</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
|
<LineNumber>102</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134221440</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\std\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\st_nand\std/main.c\102</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>4</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>100</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134221428</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\std\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\st_nand\std/main.c\100</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>5</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>98</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134221424</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\std\main.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\st_nand\std/main.c\98</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>6</Number>
|
||||||
|
<Type>0</Type>
|
||||||
<LineNumber>97</LineNumber>
|
<LineNumber>97</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>134221210</Address>
|
<Address>134221420</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
|
@ -213,54 +261,6 @@
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression>\\st_nand\std/main.c\97</Expression>
|
<Expression>\\st_nand\std/main.c\97</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
|
||||||
<Number>4</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>95</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134221206</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\st_nand\std/main.c\95</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>5</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>94</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134221202</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\st_nand\std/main.c\94</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>6</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>116</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134221362</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\st_nand\std/main.c\116</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>7</Number>
|
<Number>7</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
|
@ -277,102 +277,6 @@
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression></Expression>
|
<Expression></Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
|
||||||
<Number>8</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>98</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>9</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>100</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>10</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>102</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>11</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>113</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>12</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>118</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>13</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>119</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\std\main.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
</Breakpoint>
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
|
@ -380,6 +284,11 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>RxBuffer</ItemText>
|
<ItemText>RxBuffer</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>1</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>get_rcc_clock</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<Tracepoint>
|
<Tracepoint>
|
||||||
<THDelay>0</THDelay>
|
<THDelay>0</THDelay>
|
||||||
|
|
Loading…
Reference in New Issue