added AD9833 and DS1809 support

This commit is contained in:
Ayzen
2026-02-09 10:28:20 +03:00
parent 7442f4dd3a
commit b1ae9a5e49
25 changed files with 30109 additions and 27510 deletions
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+31 -7
View File
@@ -89,7 +89,7 @@ Mcu.Pin0=PF3
Mcu.Pin1=PF4
Mcu.Pin10=PC0
Mcu.Pin11=PC1
Mcu.Pin12=PC2
Mcu.Pin12=PC7
Mcu.Pin13=PC3
Mcu.Pin14=PA0/WKUP
Mcu.Pin15=PA1
@@ -166,8 +166,12 @@ Mcu.Pin79=VP_TIM8_VS_ClockSourceINT
Mcu.Pin8=PH0/OSC_IN
Mcu.Pin80=VP_TIM10_VS_ClockSourceINT
Mcu.Pin81=VP_TIM11_VS_ClockSourceINT
Mcu.Pin82=PD12
Mcu.Pin83=PD13
Mcu.Pin84=PE2
Mcu.Pin85=PE3
Mcu.Pin9=PH1/OSC_OUT
Mcu.PinsNb=82
Mcu.PinsNb=86
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F767ZITx
@@ -250,7 +254,7 @@ PB11.GPIO_Label=TEC1_PD
PB11.Locked=true
PB11.Signal=GPIO_Output
PB12.GPIOParameters=PinState,GPIO_Label
PB12.GPIO_Label=DAC_TEC1_CS
PB12.GPIO_Label=AD9102_CS
PB12.Locked=true
PB12.PinState=GPIO_PIN_SET
PB12.Signal=GPIO_Output
@@ -296,10 +300,10 @@ PC11.Mode=SD_4_bits_Wide_bus
PC11.Signal=SDMMC1_D3
PC12.Mode=SD_4_bits_Wide_bus
PC12.Signal=SDMMC1_CK
PC2.GPIOParameters=GPIO_Label
PC2.GPIO_Label=EN_5V2
PC2.Locked=true
PC2.Signal=GPIO_Output
PC7.GPIOParameters=GPIO_Label
PC7.GPIO_Label=EN_5V2
PC7.Locked=true
PC7.Signal=GPIO_Output
PC3.GPIOParameters=GPIO_Speed,GPIO_Label
PC3.GPIO_Label=EN_5V1
PC3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
@@ -325,6 +329,16 @@ PD1.GPIOParameters=GPIO_Label
PD1.GPIO_Label=TEST_01
PD1.Locked=true
PD1.Signal=GPIO_Output
PD12.GPIOParameters=PinState,GPIO_Label
PD12.GPIO_Label=DAC_TEC1_CS
PD12.Locked=true
PD12.PinState=GPIO_PIN_SET
PD12.Signal=GPIO_Output
PD13.GPIOParameters=PinState,GPIO_Label
PD13.GPIO_Label=AD9833_CS
PD13.Locked=true
PD13.PinState=GPIO_PIN_SET
PD13.Signal=GPIO_Output
PD2.Mode=SD_4_bits_Wide_bus
PD2.Signal=SDMMC1_CMD
PD7.Locked=true
@@ -339,6 +353,16 @@ PE0.Signal=UART8_RX
PE1.Locked=true
PE1.Mode=Asynchronous
PE1.Signal=UART8_TX
PE2.GPIOParameters=PinState,GPIO_Label
PE2.GPIO_Label=DS1809_UC
PE2.Locked=true
PE2.PinState=GPIO_PIN_SET
PE2.Signal=GPIO_Output
PE3.GPIOParameters=PinState,GPIO_Label
PE3.GPIO_Label=DS1809_DC
PE3.Locked=true
PE3.PinState=GPIO_PIN_SET
PE3.Signal=GPIO_Output
PE10.GPIOParameters=GPIO_Label
PE10.GPIO_Label=ADC_MPD1_CS
PE10.Locked=true
+22 -6
View File
@@ -83,8 +83,8 @@ void Set_LTEC(uint8_t, uint16_t);
#define SPI5_CNV_GPIO_Port GPIOF
#define ADC_ThrLD2_CS_Pin GPIO_PIN_10
#define ADC_ThrLD2_CS_GPIO_Port GPIOF
#define EN_5V2_Pin GPIO_PIN_2
#define EN_5V2_GPIO_Port GPIOC
#define EN_5V2_Pin GPIO_PIN_7
#define EN_5V2_GPIO_Port GPIOC
#define EN_5V1_Pin GPIO_PIN_3
#define EN_5V1_GPIO_Port GPIOC
#define AD9102_RESET_Pin GPIO_PIN_6
@@ -122,11 +122,21 @@ void Set_LTEC(uint8_t, uint16_t);
#define TEC1_PD_Pin GPIO_PIN_11
#define TEC1_PD_GPIO_Port GPIOB
#define DAC_TEC1_CS_Pin GPIO_PIN_12
#define DAC_TEC1_CS_GPIO_Port GPIOB
#define DAC_TEC1_CS_GPIO_Port GPIOD
#define DAC_LD1_CS_Pin GPIO_PIN_14
#define DAC_LD1_CS_GPIO_Port GPIOB
#define LD1_EN_Pin GPIO_PIN_8
#define LD1_EN_GPIO_Port GPIOD
#define AD9102_CS_Pin GPIO_PIN_12
#define AD9102_CS_GPIO_Port GPIOB
#define AD9833_CS_Pin GPIO_PIN_13
#define AD9833_CS_GPIO_Port GPIOD
#define AD9833_MCLK_Pin GPIO_PIN_9
#define AD9833_MCLK_GPIO_Port GPIOE
#define DS1809_UC_Pin GPIO_PIN_2
#define DS1809_UC_GPIO_Port GPIOE
#define DS1809_DC_Pin GPIO_PIN_3
#define DS1809_DC_GPIO_Port GPIOE
#define AD9102_TRIG_Pin GPIO_PIN_11
#define AD9102_TRIG_GPIO_Port GPIOD
#define USB_FLAG_Pin GPIO_PIN_8
@@ -178,6 +188,8 @@ void Set_LTEC(uint8_t, uint16_t);
#define DECODE_TASK 8
#define RUN_TASK 9
#define AD9102_CMD 10
#define AD9833_CMD 11
#define DS1809_CMD 12
#define SD_ERR 0x01
#define UART_ERR 0x02
@@ -197,12 +209,16 @@ void Set_LTEC(uint8_t, uint16_t);
#define AD9102_CMD_HEADER 0x8888
#define AD9102_CMD_8 10 // total bytes including header
#define AD9102_CMD_WORDS 4 // data words (flags, freq LSW, freq MSW, checksum)
#define AD9833_CMD_HEADER 0x9999
#define AD9833_CMD_8 10 // total bytes including header
#define AD9833_CMD_WORDS 4 // data words (flags, freq LSW, freq MSW, checksum)
#define DS1809_CMD_HEADER 0xAAAA
#define DS1809_CMD_8 10 // total bytes including header
#define DS1809_CMD_WORDS 4 // data words (flags, count, pulse_ms, checksum)
#define AD9102_ON_SPI2 1
// AD9102 CS (chip select). Adjust to your wiring.
#define AD9102_CS_GPIO_Port DAC_TEC1_CS_GPIO_Port
#define AD9102_CS_Pin DAC_TEC1_CS_Pin
// AD9102 CS (chip select) uses AD9102_CS_* pin definitions above.
typedef struct{
+390 -92
View File
@@ -80,6 +80,7 @@
#define AD9102_SRAM_START_DELAY_BASE_DEFAULT 0x1u
#define AD9102_SRAM_START_DLY_DEFAULT 0x0000u
#define AD9102_SRAM_HOLD_DEFAULT 0x1u
#define AD9102_SRAM_AMP_DEFAULT 8191u
#define AD9102_SRAM_SAMPLES_DEFAULT 16u
#define AD9102_SRAM_MAX_SAMPLES 4096u
#define AD9102_SRAM_RAMP_MIN (-8192)
@@ -95,6 +96,13 @@
#define AD9102_FLAG_ENABLE 0x0001u
#define AD9102_FLAG_TRIANGLE 0x0002u
#define AD9102_FLAG_SRAM 0x0004u
#define AD9102_FLAG_SRAM_FMT 0x0008u
#define AD9833_FLAG_ENABLE 0x0001u
#define AD9833_FLAG_TRIANGLE 0x0002u
#define DS1809_FLAG_UC 0x0001u
#define DS1809_FLAG_DC 0x0002u
#define DS1809_PULSE_MS_DEFAULT 2u
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
@@ -108,10 +116,11 @@ ADC_HandleTypeDef hadc3;
SD_HandleTypeDef hsd1;
TIM_HandleTypeDef htim4;
TIM_HandleTypeDef htim8;
TIM_HandleTypeDef htim10;
TIM_HandleTypeDef htim11;
TIM_HandleTypeDef htim4;
TIM_HandleTypeDef htim8;
TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim10;
TIM_HandleTypeDef htim11;
UART_HandleTypeDef huart8;
@@ -188,11 +197,12 @@ static void MX_USART1_UART_Init(void);
static void MX_SDMMC1_SD_Init(void);
static void MX_TIM7_Init(void);
static void MX_TIM6_Init(void);
static void MX_TIM10_Init(void);
static void MX_UART8_Init(void);
static void MX_TIM8_Init(void);
static void MX_TIM11_Init(void);
static void MX_TIM4_Init(void);
static void MX_TIM10_Init(void);
static void MX_UART8_Init(void);
static void MX_TIM8_Init(void);
static void MX_TIM11_Init(void);
static void MX_TIM4_Init(void);
static void MX_TIM1_Init(void);
/* USER CODE BEGIN PFP */
static void Init_params(void);
static void Decode_uart(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_curr_setup, Work_SetupTypeDef *Curr_setup);
@@ -206,10 +216,14 @@ static void AD9102_WriteReg(uint16_t addr, uint16_t value);
static uint16_t AD9102_ReadReg(uint16_t addr);
static void AD9102_WriteRegTable(const uint16_t *values, uint16_t count);
static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, uint8_t pat_base, uint16_t pat_period);
static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle);
static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle);
static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle, uint16_t amplitude);
static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle, uint16_t amplitude);
static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t saw_step, uint8_t pat_base, uint16_t pat_period);
static uint8_t AD9102_CheckFlagsSram(uint16_t pat_status, uint8_t expect_run, uint16_t samples, uint8_t hold);
static void SPI2_SetMode(uint32_t polarity, uint32_t phase);
static void AD9833_WriteWord(uint16_t word);
static void AD9833_Apply(uint8_t enable, uint8_t triangle, uint32_t freq_word);
static void DS1809_Pulse(uint8_t uc, uint8_t dc, uint16_t count, uint16_t pulse_ms);
uint8_t CheckChecksum(uint16_t *pbuff);
uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len);
//int SD_Init(void);
@@ -273,11 +287,12 @@ int main(void)
MX_TIM6_Init();
MX_TIM10_Init();
MX_UART8_Init();
MX_TIM8_Init();
MX_TIM11_Init();
MX_TIM4_Init();
/* USER CODE BEGIN 2 */
Init_params();
MX_TIM8_Init();
MX_TIM11_Init();
MX_TIM4_Init();
MX_TIM1_Init();
/* USER CODE BEGIN 2 */
Init_params();
//HAL_TIM_Base_Start(&htim11);
//HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator
@@ -293,10 +308,14 @@ int main(void)
TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1;
//Mach-Zander clock (should be 1/4 of ADC clock freq)
TIM11 -> ARR = (TIM4 -> ARR +1)*4 - 1;
TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1;
//Mach-Zander clock (should be 1/4 of ADC clock freq)
TIM11 -> ARR = (TIM4 -> ARR +1)*4 - 1;
TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1;
// AD9833 MCLK output on PE9 (TIM1_CH1)
// TIM1 clock = 184 MHz, ARR=8 -> ~20.44 MHz output
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
/*
if (HAL_GPIO_ReadPin(INP_0_GPIO_Port, INP_0_Pin) == 0){
@@ -468,7 +487,7 @@ int main(void)
CPU_state_old = WORK_ENABLE;//Save main current cycle
}
break;
case AD9102_CMD://10 - Configure AD9102 sawtooth output
case AD9102_CMD://10 - Configure AD9102 sawtooth output
if (CalculateChecksum(COMMAND, AD9102_CMD_WORDS - 1) == COMMAND[AD9102_CMD_WORDS - 1])
{
uint16_t flags = COMMAND[0];
@@ -480,9 +499,25 @@ int main(void)
if (sram_mode)
{
uint16_t samples = param0;
uint8_t hold = (uint8_t)(param1 & 0x0Fu);
uint16_t pat_status = AD9102_ApplySram(enable, samples, hold, triangle);
uint8_t sram_fmt = (flags & AD9102_FLAG_SRAM_FMT) ? 1u : 0u;
uint16_t samples;
uint8_t hold;
uint16_t amplitude;
if (sram_fmt)
{
amplitude = param0;
samples = param1;
hold = AD9102_SRAM_HOLD_DEFAULT;
}
else
{
samples = param0;
hold = (uint8_t)(param1 & 0x0Fu);
amplitude = AD9102_SRAM_AMP_DEFAULT;
}
uint16_t pat_status = AD9102_ApplySram(enable, samples, hold, triangle, amplitude);
State_Data[1] = (uint8_t)(pat_status & 0x00FFu);
if (AD9102_CheckFlagsSram(pat_status, enable, samples, hold))
{
@@ -530,9 +565,70 @@ int main(void)
{
State_Data[0] |= UART_DECODE_ERR;
}
UART_transmission_request = MESS_01;
CPU_state = CPU_state_old;
break;
UART_transmission_request = MESS_01;
CPU_state = CPU_state_old;
break;
case AD9833_CMD://11 - Configure AD9833 triangle output
State_Data[1] = 0u;
if (CalculateChecksum(COMMAND, AD9833_CMD_WORDS - 1) == COMMAND[AD9833_CMD_WORDS - 1])
{
uint16_t flags = COMMAND[0];
uint16_t lsw = (uint16_t)(COMMAND[1] & 0x3FFFu);
uint16_t msw = (uint16_t)(COMMAND[2] & 0x3FFFu);
uint8_t enable = (flags & AD9833_FLAG_ENABLE) ? 1u : 0u;
uint8_t triangle = (flags & AD9833_FLAG_TRIANGLE) ? 1u : 0u;
uint32_t freq_word = ((uint32_t)msw << 14) | (uint32_t)lsw;
AD9833_Apply(enable, triangle, freq_word);
}
else
{
State_Data[0] |= UART_DECODE_ERR;
}
UART_transmission_request = MESS_01;
CPU_state = CPU_state_old;
break;
case DS1809_CMD://12 - Pulse DS1809 UC/DC controls
if (CalculateChecksum(COMMAND, DS1809_CMD_WORDS - 1) == COMMAND[DS1809_CMD_WORDS - 1])
{
uint16_t flags = COMMAND[0];
uint16_t count = COMMAND[1];
uint16_t pulse_ms = COMMAND[2];
uint8_t uc = (flags & DS1809_FLAG_UC) ? 1u : 0u;
uint8_t dc = (flags & DS1809_FLAG_DC) ? 1u : 0u;
if (uc && dc)
{
State_Data[0] |= UART_DECODE_ERR;
}
else
{
if (count == 0u)
{
count = 1u;
}
if (count > 64u)
{
count = 64u;
}
if (pulse_ms == 0u)
{
pulse_ms = DS1809_PULSE_MS_DEFAULT;
}
if (pulse_ms > 500u)
{
pulse_ms = 500u;
}
DS1809_Pulse(uc, dc, count, pulse_ms);
}
}
else
{
State_Data[0] |= UART_DECODE_ERR;
}
UART_transmission_request = MESS_01;
CPU_state = CPU_state_old;
break;
case DECODE_TASK:
if (CheckChecksum(COMMAND))
{
@@ -1703,7 +1799,7 @@ static void MX_TIM10_Init(void)
* @param None
* @retval None
*/
static void MX_TIM11_Init(void)
static void MX_TIM11_Init(void)
{
/* USER CODE BEGIN TIM11_Init 0 */
@@ -1740,9 +1836,78 @@ static void MX_TIM11_Init(void)
/* USER CODE BEGIN TIM11_Init 2 */
/* USER CODE END TIM11_Init 2 */
HAL_TIM_MspPostInit(&htim11);
}
HAL_TIM_MspPostInit(&htim11);
}
/**
* @brief TIM1 Initialization Function
* @param None
* @retval None
*/
static void MX_TIM1_Init(void)
{
/* USER CODE BEGIN TIM1_Init 0 */
/* USER CODE END TIM1_Init 0 */
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
TIM_OC_InitTypeDef sConfigOC = {0};
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
/* USER CODE BEGIN TIM1_Init 1 */
/* USER CODE END TIM1_Init 1 */
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
htim1.Init.Period = 8;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim1.Init.RepetitionCounter = 0;
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
{
Error_Handler();
}
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK)
{
Error_Handler();
}
if (HAL_TIM_PWM_Init(&htim1) != HAL_OK)
{
Error_Handler();
}
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 4;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
{
Error_Handler();
}
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
sBreakDeadTimeConfig.DeadTime = 0;
sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
sBreakDeadTimeConfig.BreakFilter = 0;
sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE;
sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH;
sBreakDeadTimeConfig.Break2Filter = 0;
sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM1_Init 2 */
/* USER CODE END TIM1_Init 2 */
HAL_TIM_MspPostInit(&htim1);
}
/**
* @brief UART8 Initialization Function
@@ -1924,22 +2089,25 @@ static void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE, ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE, ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOE, DS1809_UC_Pin|DS1809_DC_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, REF0_EN_Pin|TEC1_PD_Pin|OUT_6_Pin
|OUT_7_Pin|OUT_8_Pin|OUT_9_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, REF0_EN_Pin|TEC1_PD_Pin|OUT_6_Pin
|OUT_7_Pin|OUT_8_Pin|OUT_9_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOD, LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7, GPIO_PIN_RESET);
HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD, LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7, GPIO_PIN_RESET);
HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(AD9833_CS_GPIO_Port, AD9833_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9|OUT_0_Pin|OUT_1_Pin|OUT_2_Pin
@@ -1987,12 +2155,19 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
/*Configure GPIO pins : ADC_MPD1_CS_Pin ADC_ThrLD1_CS_Pin */
GPIO_InitStruct.Pin = ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pins : ADC_MPD1_CS_Pin ADC_ThrLD1_CS_Pin */
GPIO_InitStruct.Pin = ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pins : DS1809_UC_Pin DS1809_DC_Pin */
GPIO_InitStruct.Pin = DS1809_UC_Pin|DS1809_DC_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pin : SPI4_CNV_Pin */
GPIO_InitStruct.Pin = SPI4_CNV_Pin;
@@ -2001,21 +2176,21 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(SPI4_CNV_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : REF0_EN_Pin TEC1_PD_Pin DAC_TEC1_CS_Pin
OUT_6_Pin OUT_7_Pin OUT_8_Pin OUT_9_Pin */
GPIO_InitStruct.Pin = REF0_EN_Pin|TEC1_PD_Pin|DAC_TEC1_CS_Pin
|OUT_6_Pin|OUT_7_Pin|OUT_8_Pin|OUT_9_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : LD1_EN_Pin TEST_01_Pin PD7 AD9102_TRIG_Pin */
GPIO_InitStruct.Pin = LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7|AD9102_TRIG_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/*Configure GPIO pins : REF0_EN_Pin TEC1_PD_Pin AD9102_CS_Pin
OUT_6_Pin OUT_7_Pin OUT_8_Pin OUT_9_Pin */
GPIO_InitStruct.Pin = REF0_EN_Pin|TEC1_PD_Pin|AD9102_CS_Pin
|OUT_6_Pin|OUT_7_Pin|OUT_8_Pin|OUT_9_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : LD1_EN_Pin TEST_01_Pin PD7 AD9102_TRIG_Pin DAC_TEC1_CS_Pin AD9833_CS_Pin */
GPIO_InitStruct.Pin = LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7|AD9102_TRIG_Pin|DAC_TEC1_CS_Pin|AD9833_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/*Configure GPIO pin : USB_FLAG_Pin */
GPIO_InitStruct.Pin = USB_FLAG_Pin;
@@ -2448,24 +2623,114 @@ void OUT_trigger(uint8_t out_n)
}
}
static void AD9102_Init(void)
{
HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_RESET);
static void AD9102_Init(void)
{
HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_RESET);
for (volatile uint32_t d = 0; d < 1000; d++) {}
HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET);
AD9102_WriteRegTable(ad9102_example4_regval, AD9102_REG_COUNT);
AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u);
AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u);
HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET);
}
HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET);
}
static void SPI2_SetMode(uint32_t polarity, uint32_t phase)
{
if (LL_SPI_IsEnabled(SPI2))
{
LL_SPI_Disable(SPI2);
}
LL_SPI_SetClockPolarity(SPI2, polarity);
LL_SPI_SetClockPhase(SPI2, phase);
if (!LL_SPI_IsEnabled(SPI2))
{
LL_SPI_Enable(SPI2);
}
}
static void AD9833_WriteWord(uint16_t word)
{
uint32_t tmp32 = 0;
SPI2_SetMode(LL_SPI_POLARITY_HIGH, LL_SPI_PHASE_1EDGE);
HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(AD9833_CS_GPIO_Port, AD9833_CS_Pin, GPIO_PIN_RESET);
while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {}
LL_SPI_TransmitData16(SPI2, word);
tmp32 = 0;
while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {}
(void) SPI2->DR;
HAL_GPIO_WritePin(AD9833_CS_GPIO_Port, AD9833_CS_Pin, GPIO_PIN_SET);
}
static void AD9833_Apply(uint8_t enable, uint8_t triangle, uint32_t freq_word)
{
uint16_t control = 0x2000u; // B28 = 1
if (triangle)
{
control |= 0x0002u; // MODE = 1 (triangle)
}
control |= 0x0100u; // RESET = 1 while updating
freq_word &= 0x0FFFFFFFu;
uint16_t lsw = (uint16_t)(0x4000u | (freq_word & 0x3FFFu)); // FREQ0 LSB
uint16_t msw = (uint16_t)(0x4000u | ((freq_word >> 14) & 0x3FFFu)); // FREQ0 MSB
AD9833_WriteWord(control);
AD9833_WriteWord(lsw);
AD9833_WriteWord(msw);
AD9833_WriteWord(0xC000u); // PHASE0 = 0
if (enable)
{
control &= (uint16_t)(~0x0100u);
}
AD9833_WriteWord(control);
}
static void DS1809_Pulse(uint8_t uc, uint8_t dc, uint16_t count, uint16_t pulse_ms)
{
for (uint16_t i = 0; i < count; i++)
{
if (uc)
{
HAL_GPIO_WritePin(DS1809_UC_GPIO_Port, DS1809_UC_Pin, GPIO_PIN_RESET);
}
if (dc)
{
HAL_GPIO_WritePin(DS1809_DC_GPIO_Port, DS1809_DC_Pin, GPIO_PIN_RESET);
}
HAL_Delay(pulse_ms);
if (uc)
{
HAL_GPIO_WritePin(DS1809_UC_GPIO_Port, DS1809_UC_Pin, GPIO_PIN_SET);
}
if (dc)
{
HAL_GPIO_WritePin(DS1809_DC_GPIO_Port, DS1809_DC_Pin, GPIO_PIN_SET);
}
HAL_Delay(pulse_ms);
}
}
static void AD9102_WriteReg(uint16_t addr, uint16_t value)
{
uint32_t tmp32 = 0;
uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address
SPI2_SetMode(LL_SPI_POLARITY_LOW, LL_SPI_PHASE_1EDGE);
HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);
if (!LL_SPI_IsEnabled(SPI2))
{
LL_SPI_Enable(SPI2);
@@ -2495,6 +2760,11 @@ static uint16_t AD9102_ReadReg(uint16_t addr)
uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read)
uint16_t value;
SPI2_SetMode(LL_SPI_POLARITY_LOW, LL_SPI_PHASE_1EDGE);
HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);
if (!LL_SPI_IsEnabled(SPI2))
{
LL_SPI_Enable(SPI2);
@@ -2571,7 +2841,7 @@ static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step,
return AD9102_ReadReg(AD9102_REG_PAT_STATUS);
}
static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle)
static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle, uint16_t amplitude)
{
if (samples < 2u)
{
@@ -2581,6 +2851,10 @@ static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle)
{
samples = AD9102_SRAM_MAX_SAMPLES;
}
if (amplitude > AD9102_SRAM_AMP_DEFAULT)
{
amplitude = AD9102_SRAM_AMP_DEFAULT;
}
// Enable SRAM access.
AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0004u);
@@ -2588,6 +2862,9 @@ static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle)
for (uint16_t i = 0; i < samples; i++)
{
int32_t value;
int32_t min_val = -(int32_t)amplitude;
int32_t max_val = (int32_t)amplitude;
int32_t span = max_val - min_val;
if (triangle)
{
uint16_t half = samples / 2u;
@@ -2598,22 +2875,40 @@ static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle)
if (i < half)
{
uint16_t denom = (half > 1u) ? (uint16_t)(half - 1u) : 1u;
value = AD9102_SRAM_RAMP_MIN +
((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom;
if (span == 0)
{
value = 0;
}
else
{
value = min_val + (span * (int32_t)i) / (int32_t)denom;
}
}
else
{
uint16_t tail = (uint16_t)(samples - half);
uint16_t denom = (tail > 1u) ? (uint16_t)(tail - 1u) : 1u;
value = AD9102_SRAM_RAMP_MAX -
((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)(i - half)) / (int32_t)denom;
if (span == 0)
{
value = 0;
}
else
{
value = max_val - (span * (int32_t)(i - half)) / (int32_t)denom;
}
}
}
else
{
uint16_t denom = (samples > 1u) ? (uint16_t)(samples - 1u) : 1u;
value = AD9102_SRAM_RAMP_MIN +
((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom;
if (span == 0)
{
value = 0;
}
else
{
value = min_val + (span * (int32_t)i) / (int32_t)denom;
}
}
if (value < -8192)
@@ -2634,7 +2929,7 @@ static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle)
AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u);
}
static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle)
static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle, uint16_t amplitude)
{
if (samples == 0u)
{
@@ -2657,6 +2952,11 @@ static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold,
hold = 0x0Fu;
}
if (amplitude > AD9102_SRAM_AMP_DEFAULT)
{
amplitude = AD9102_SRAM_AMP_DEFAULT;
}
uint16_t pat_timebase = (uint16_t)(((uint16_t)(hold & 0x0Fu) << 8) |
((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) |
(AD9102_SRAM_START_DELAY_BASE_DEFAULT & 0x0Fu));
@@ -2683,7 +2983,7 @@ static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold,
AD9102_WriteReg(AD9102_REG_STOP_ADDR, (uint16_t)((samples - 1u) << 4));
AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u);
AD9102_LoadSramRamp(samples, triangle);
AD9102_LoadSramRamp(samples, triangle, amplitude);
if (enable)
{
@@ -2880,20 +3180,18 @@ static uint8_t AD9102_CheckFlagsSram(uint16_t pat_status, uint8_t expect_run, ui
return (ok ? 0u : 1u);
}
void Set_LTEC(uint8_t num, uint16_t DATA)
{
uint32_t tmp32;
#if AD9102_ON_SPI2
// AD9102 occupies SPI2; skip LD1/TEC1 writes to avoid CS conflicts.
if (num == 1 || num == 3)
{
return;
}
#endif
switch (num)
{
void Set_LTEC(uint8_t num, uint16_t DATA)
{
uint32_t tmp32;
if (num == 1 || num == 3)
{
SPI2_SetMode(LL_SPI_POLARITY_HIGH, LL_SPI_PHASE_2EDGE);
HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET);
}
switch (num)
{
case 1:
HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_RESET);//Start operation with LDAC1
//tmp32=0;
+59 -16
View File
@@ -332,8 +332,8 @@ void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
*/
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM4)
{
if(htim_base->Instance==TIM4)
{
/* USER CODE BEGIN TIM4_MspInit 0 */
/* USER CODE END TIM4_MspInit 0 */
@@ -341,10 +341,21 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
__HAL_RCC_TIM4_CLK_ENABLE();
/* USER CODE BEGIN TIM4_MspInit 1 */
/* USER CODE END TIM4_MspInit 1 */
}
else if(htim_base->Instance==TIM8)
{
/* USER CODE END TIM4_MspInit 1 */
}
else if(htim_base->Instance==TIM1)
{
/* USER CODE BEGIN TIM1_MspInit 0 */
/* USER CODE END TIM1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM1_CLK_ENABLE();
/* USER CODE BEGIN TIM1_MspInit 1 */
/* USER CODE END TIM1_MspInit 1 */
}
else if(htim_base->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspInit 0 */
/* USER CODE END TIM8_MspInit 0 */
@@ -391,8 +402,8 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(htim->Instance==TIM4)
{
if(htim->Instance==TIM4)
{
/* USER CODE BEGIN TIM4_MspPostInit 0 */
/* USER CODE END TIM4_MspPostInit 0 */
@@ -409,10 +420,31 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
/* USER CODE BEGIN TIM4_MspPostInit 1 */
/* USER CODE END TIM4_MspPostInit 1 */
}
else if(htim->Instance==TIM11)
{
/* USER CODE END TIM4_MspPostInit 1 */
}
else if(htim->Instance==TIM1)
{
/* USER CODE BEGIN TIM1_MspPostInit 0 */
/* USER CODE END TIM1_MspPostInit 0 */
__HAL_RCC_GPIOE_CLK_ENABLE();
/**TIM1 GPIO Configuration
PE9 ------> TIM1_CH1
*/
GPIO_InitStruct.Pin = GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/* USER CODE BEGIN TIM1_MspPostInit 1 */
/* USER CODE END TIM1_MspPostInit 1 */
}
else if(htim->Instance==TIM11)
{
/* USER CODE BEGIN TIM11_MspPostInit 0 */
/* USER CODE END TIM11_MspPostInit 0 */
@@ -451,10 +483,21 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
__HAL_RCC_TIM4_CLK_DISABLE();
/* USER CODE BEGIN TIM4_MspDeInit 1 */
/* USER CODE END TIM4_MspDeInit 1 */
}
else if(htim_base->Instance==TIM8)
{
/* USER CODE END TIM4_MspDeInit 1 */
}
else if(htim_base->Instance==TIM1)
{
/* USER CODE BEGIN TIM1_MspDeInit 0 */
/* USER CODE END TIM1_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM1_CLK_DISABLE();
/* USER CODE BEGIN TIM1_MspDeInit 1 */
/* USER CODE END TIM1_MspDeInit 1 */
}
else if(htim_base->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspDeInit 0 */
/* USER CODE END TIM8_MspDeInit 0 */
+26
View File
@@ -481,6 +481,12 @@ void UART_RxCpltCallback(void)
case AD9102_CMD_HEADER: // AD9102 command
UART_rec_incr = 2;//timeout flag is still setting!
break;
case AD9833_CMD_HEADER: // AD9833 command
UART_rec_incr = 2;//timeout flag is still setting!
break;
case DS1809_CMD_HEADER: // DS1809 UC/DC pulse command
UART_rec_incr = 2;//timeout flag is still setting!
break;
default: //error decoding header
UART_rec_incr = 0;
flg_tmt = 0;//Reset the timeout flag
@@ -503,6 +509,26 @@ void UART_RxCpltCallback(void)
UART_rec_incr = 0;
flg_tmt = 0;//Reset the timeout flag
}
else if (UART_header == AD9833_CMD_HEADER)
{
if ((UART_rec_incr & 0x0001) > 0)
COMMAND[(UART_rec_incr >> 1) - 1] += ((uint16_t)(uart_buf)) << 8;
else
COMMAND[(UART_rec_incr >> 1) - 1] = (uint16_t)(uart_buf);
CPU_state = AD9833_CMD;
UART_rec_incr = 0;
flg_tmt = 0;//Reset the timeout flag
}
else if (UART_header == DS1809_CMD_HEADER)
{
if ((UART_rec_incr & 0x0001) > 0)
COMMAND[(UART_rec_incr >> 1) - 1] += ((uint16_t)(uart_buf)) << 8;
else
COMMAND[(UART_rec_incr >> 1) - 1] = (uint16_t)(uart_buf);
CPU_state = DS1809_CMD;
UART_rec_incr = 0;
flg_tmt = 0;//Reset the timeout flag
}
else
{
if ((UART_rec_incr&0x0001)>0)
BIN
View File
Binary file not shown.
+131 -131
View File
@@ -1,4 +1,4 @@
ARM GAS /tmp/cczIN1cV.s page 1
ARM GAS /tmp/cc6OCjXR.s page 1
1 .cpu cortex-m7
@@ -58,7 +58,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
28:Src/File_Handling.c ****
29:Src/File_Handling.c ****
30:Src/File_Handling.c **** void Send_Uart (char *string)
ARM GAS /tmp/cczIN1cV.s page 2
ARM GAS /tmp/cc6OCjXR.s page 2
31:Src/File_Handling.c **** {
@@ -118,7 +118,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
75 0012 0120 movs r0, #1
76 .L2:
41:Src/File_Handling.c **** else return 0;
ARM GAS /tmp/cczIN1cV.s page 3
ARM GAS /tmp/cc6OCjXR.s page 3
42:Src/File_Handling.c **** }
@@ -178,7 +178,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
48:Src/File_Handling.c **** return 1;//else Send_Uart("ERROR!!! in UNMOUNTING SD CARD\n\n\n");
126 .loc 1 48 9 view .LVU21
127 0012 0120 movs r0, #1
ARM GAS /tmp/cczIN1cV.s page 4
ARM GAS /tmp/cc6OCjXR.s page 4
128 .L8:
@@ -238,7 +238,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
171 .LCFI2:
172 .cfi_def_cfa_offset 16
173 .cfi_offset 4, -16
ARM GAS /tmp/cczIN1cV.s page 5
ARM GAS /tmp/cc6OCjXR.s page 5
174 .cfi_offset 5, -12
@@ -298,7 +298,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
69:Src/File_Handling.c **** char *buf = malloc(30*sizeof(char));
70:Src/File_Handling.c **** sprintf (buf, "Dir: %s\r\n", fno.fname);
71:Src/File_Handling.c **** Send_Uart(buf);
ARM GAS /tmp/cczIN1cV.s page 6
ARM GAS /tmp/cc6OCjXR.s page 6
72:Src/File_Handling.c **** free(buf);
@@ -358,7 +358,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
247 .loc 1 65 46 discriminator 1 view .LVU49
248 004c 1D4B ldr r3, .L21+12
249 004e 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2
ARM GAS /tmp/cczIN1cV.s page 7
ARM GAS /tmp/cc6OCjXR.s page 7
65:Src/File_Handling.c **** if (fno.fattrib & AM_DIR) /* It is a directory */
@@ -418,7 +418,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
290 0082 FFF7FEFF bl strlen
291 .LVL24:
292 0086 0546 mov r5, r0
ARM GAS /tmp/cczIN1cV.s page 8
ARM GAS /tmp/cc6OCjXR.s page 8
293 .LVL25:
@@ -478,7 +478,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
331 .loc 1 91 1 is_stmt 0 view .LVU76
332 00b0 014B ldr r3, .L21
333 00b2 1878 ldrb r0, [r3] @ zero_extendqisi2
ARM GAS /tmp/cczIN1cV.s page 9
ARM GAS /tmp/cc6OCjXR.s page 9
334 00b4 0CB0 add sp, sp, #48
@@ -538,7 +538,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
384 .LVL33:
385 000a 0446 mov r4, r0
386 .LVL34:
ARM GAS /tmp/cczIN1cV.s page 10
ARM GAS /tmp/cc6OCjXR.s page 10
98:Src/File_Handling.c **** sprintf (path, "%s","/");
@@ -598,7 +598,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
420 002e 6846 mov r0, sp
421 0030 FFF7FEFF bl f_readdir
422 .LVL38:
ARM GAS /tmp/cczIN1cV.s page 11
ARM GAS /tmp/cc6OCjXR.s page 11
105:Src/File_Handling.c **** if (fresult != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */
@@ -658,7 +658,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
461 .L26:
116:Src/File_Handling.c **** }
117:Src/File_Handling.c **** }
ARM GAS /tmp/cczIN1cV.s page 12
ARM GAS /tmp/cc6OCjXR.s page 12
118:Src/File_Handling.c **** f_closedir(&dir);
@@ -718,7 +718,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
507 .loc 1 128 1 is_stmt 0 view .LVU117
508 0000 70B5 push {r4, r5, r6, lr}
509 .LCFI8:
ARM GAS /tmp/cczIN1cV.s page 13
ARM GAS /tmp/cc6OCjXR.s page 13
510 .cfi_def_cfa_offset 16
@@ -778,7 +778,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
153:Src/File_Handling.c ****
154:Src/File_Handling.c **** else
155:Src/File_Handling.c **** {
ARM GAS /tmp/cczIN1cV.s page 14
ARM GAS /tmp/cc6OCjXR.s page 14
156:Src/File_Handling.c **** fresult = f_write(&fil, data, strlen(data), &bw);
@@ -838,7 +838,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
150:Src/File_Handling.c **** return fresult;
559 .loc 1 150 10 view .LVU136
151:Src/File_Handling.c **** }
ARM GAS /tmp/cczIN1cV.s page 15
ARM GAS /tmp/cc6OCjXR.s page 15
560 .loc 1 151 10 view .LVU137
@@ -898,7 +898,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
182:Src/File_Handling.c **** }
598 .loc 1 182 13 is_stmt 0 view .LVU154
599 004a C0B2 uxtb r0, r0
ARM GAS /tmp/cczIN1cV.s page 16
ARM GAS /tmp/cc6OCjXR.s page 16
600 004c E2E7 b .L34
@@ -958,7 +958,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
649 .loc 1 191 5 is_stmt 0 view .LVU162
650 0012 08B1 cbz r0, .L40
651 .LBB6:
ARM GAS /tmp/cczIN1cV.s page 17
ARM GAS /tmp/cc6OCjXR.s page 17
192:Src/File_Handling.c **** {
@@ -1018,7 +1018,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
237:Src/File_Handling.c **** //Send_Uart(buf);
238:Src/File_Handling.c **** free(buf);
239:Src/File_Handling.c **** }
ARM GAS /tmp/cczIN1cV.s page 18
ARM GAS /tmp/cc6OCjXR.s page 18
240:Src/File_Handling.c **** }
@@ -1078,7 +1078,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
215:Src/File_Handling.c **** if (fresult != FR_OK)
699 .loc 1 215 15 discriminator 1 view .LVU181
700 003c 2070 strb r0, [r4]
ARM GAS /tmp/cczIN1cV.s page 19
ARM GAS /tmp/cc6OCjXR.s page 19
216:Src/File_Handling.c **** {
@@ -1138,7 +1138,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
737 004c 4552524F .ascii "ERROR!!! No. %d in reading file *%s*\012\012\000"
737 52212121
737 204E6F2E
ARM GAS /tmp/cczIN1cV.s page 20
ARM GAS /tmp/cc6OCjXR.s page 20
737 20256420
@@ -1198,7 +1198,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
777 000e B8B9 cbnz r0, .L54
778 .LBB8:
250:Src/File_Handling.c **** {
ARM GAS /tmp/cczIN1cV.s page 21
ARM GAS /tmp/cc6OCjXR.s page 21
251:Src/File_Handling.c **** char *buf = malloc(100*sizeof(char));
@@ -1258,7 +1258,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
814 003a 2B4B ldr r3, .L55+4
815 003c 1878 ldrb r0, [r3] @ zero_extendqisi2
816 003e 0CE0 b .L48
ARM GAS /tmp/cczIN1cV.s page 22
ARM GAS /tmp/cc6OCjXR.s page 22
817 .LVL70:
@@ -1318,7 +1318,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
285:Src/File_Handling.c ****
286:Src/File_Handling.c **** else
287:Src/File_Handling.c **** {
ARM GAS /tmp/cczIN1cV.s page 23
ARM GAS /tmp/cc6OCjXR.s page 23
288:Src/File_Handling.c **** Send_Uart(buffer);
@@ -1378,7 +1378,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
277:Src/File_Handling.c **** {
873 .loc 1 277 3 is_stmt 1 view .LVU228
277:Src/File_Handling.c **** {
ARM GAS /tmp/cczIN1cV.s page 24
ARM GAS /tmp/cc6OCjXR.s page 24
874 .loc 1 277 6 is_stmt 0 view .LVU229
@@ -1438,7 +1438,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
916 00a0 FFF7FEFF bl free
917 .LVL88:
292:Src/File_Handling.c **** if (fresult != FR_OK)
ARM GAS /tmp/cczIN1cV.s page 25
ARM GAS /tmp/cc6OCjXR.s page 25
918 .loc 1 292 4 view .LVU242
@@ -1498,7 +1498,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
961 .LVL97:
303:Src/File_Handling.c **** Send_Uart(buf);
962 .loc 1 303 5 is_stmt 1 view .LVU254
ARM GAS /tmp/cczIN1cV.s page 26
ARM GAS /tmp/cc6OCjXR.s page 26
963 00d4 2246 mov r2, r4
@@ -1558,7 +1558,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1010 .LCFI11:
1011 .cfi_def_cfa_offset 24
1012 .cfi_offset 4, -24
ARM GAS /tmp/cczIN1cV.s page 27
ARM GAS /tmp/cc6OCjXR.s page 27
1013 .cfi_offset 5, -20
@@ -1618,7 +1618,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
332:Src/File_Handling.c **** char *buf = malloc(100*sizeof(char));
333:Src/File_Handling.c **** sprintf (buf, "ERROR!!! No. %d in opening file *%s*\n\n", fresult, name);
334:Src/File_Handling.c **** //Send_Uart(buf);
ARM GAS /tmp/cczIN1cV.s page 28
ARM GAS /tmp/cc6OCjXR.s page 28
335:Src/File_Handling.c **** free(buf);
@@ -1678,7 +1678,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1086 .LBE15:
1087 .LBB16:
318:Src/File_Handling.c **** sprintf (buf, "ERRROR!!! *%s* does not exists\n\n", name);
ARM GAS /tmp/cczIN1cV.s page 29
ARM GAS /tmp/cc6OCjXR.s page 29
1088 .loc 1 318 3 is_stmt 1 view .LVU282
@@ -1738,7 +1738,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
376:Src/File_Handling.c ****
377:Src/File_Handling.c **** /* Close file */
378:Src/File_Handling.c **** fresult = f_close(&fil);
ARM GAS /tmp/cczIN1cV.s page 30
ARM GAS /tmp/cc6OCjXR.s page 30
379:Src/File_Handling.c **** if (fresult != FR_OK)
@@ -1798,7 +1798,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1141 .loc 1 336 14 view .LVU296
1142 .LBE17:
353:Src/File_Handling.c **** if (fresult != FR_OK)
ARM GAS /tmp/cczIN1cV.s page 31
ARM GAS /tmp/cc6OCjXR.s page 31
1143 .loc 1 353 3 is_stmt 1 view .LVU297
@@ -1858,7 +1858,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1180 00b6 BA70 strb r2, [r7, #2]
374:Src/File_Handling.c **** }
1181 .loc 1 374 5 is_stmt 1 view .LVU315
ARM GAS /tmp/cczIN1cV.s page 32
ARM GAS /tmp/cc6OCjXR.s page 32
374:Src/File_Handling.c **** }
@@ -1918,7 +1918,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1222 .loc 1 394 13 is_stmt 0 view .LVU329
1223 00e2 0F4B ldr r3, .L70+4
1224 00e4 1878 ldrb r0, [r3] @ zero_extendqisi2
ARM GAS /tmp/cczIN1cV.s page 33
ARM GAS /tmp/cc6OCjXR.s page 33
1225 00e6 C2E7 b .L59
@@ -1978,7 +1978,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1271 011c 00000000 .word fno
1272 0120 00000000 .word fresult
1273 0124 00000000 .word fil
ARM GAS /tmp/cczIN1cV.s page 34
ARM GAS /tmp/cc6OCjXR.s page 34
1274 0128 00000000 .word .LC10
@@ -2038,7 +2038,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1320 .loc 1 406 3 view .LVU346
407:Src/File_Handling.c **** return fresult;
1321 .loc 1 407 6 view .LVU347
ARM GAS /tmp/cczIN1cV.s page 35
ARM GAS /tmp/cc6OCjXR.s page 35
1322 .loc 1 407 13 is_stmt 0 view .LVU348
@@ -2098,7 +2098,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1336 .LVL141:
411:Src/File_Handling.c **** if (fresult != FR_OK)
1337 .loc 1 411 11 discriminator 1 view .LVU352
ARM GAS /tmp/cczIN1cV.s page 36
ARM GAS /tmp/cc6OCjXR.s page 36
1338 001e 074B ldr r3, .L77+4
@@ -2158,7 +2158,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1376 .LFE1195:
1378 .section .text.Update_File,"ax",%progbits
1379 .align 1
ARM GAS /tmp/cczIN1cV.s page 37
ARM GAS /tmp/cc6OCjXR.s page 37
1380 .global Update_File
@@ -2218,7 +2218,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1423 .loc 1 457 13 view .LVU381
1424 .LBE23:
458:Src/File_Handling.c **** }
ARM GAS /tmp/cczIN1cV.s page 38
ARM GAS /tmp/cc6OCjXR.s page 38
459:Src/File_Handling.c ****
@@ -2278,7 +2278,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1428 .L80:
463:Src/File_Handling.c **** if (fresult != FR_OK)
1429 .loc 1 463 6 is_stmt 1 view .LVU383
ARM GAS /tmp/cczIN1cV.s page 39
ARM GAS /tmp/cc6OCjXR.s page 39
463:Src/File_Handling.c **** if (fresult != FR_OK)
@@ -2338,7 +2338,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
485:Src/File_Handling.c **** //sprintf (buf, "*%s* UPDATED successfully\n", name);
1470 .loc 1 485 7 view .LVU398
488:Src/File_Handling.c **** }
ARM GAS /tmp/cczIN1cV.s page 40
ARM GAS /tmp/cc6OCjXR.s page 40
1471 .loc 1 488 7 view .LVU399
@@ -2398,7 +2398,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1506 .section .text.Remove_File,"ax",%progbits
1507 .align 1
1508 .global Remove_File
ARM GAS /tmp/cczIN1cV.s page 41
ARM GAS /tmp/cc6OCjXR.s page 41
1509 .syntax unified
@@ -2458,7 +2458,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1547 0018 164B ldr r3, .L93+4
1548 001a 1870 strb r0, [r3]
527:Src/File_Handling.c **** if (fresult == FR_OK)
ARM GAS /tmp/cczIN1cV.s page 42
ARM GAS /tmp/cc6OCjXR.s page 42
1549 .loc 1 527 3 is_stmt 1 view .LVU418
@@ -2518,7 +2518,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1584 .loc 1 517 15 is_stmt 0 view .LVU430
1585 003a 6420 movs r0, #100
1586 003c FFF7FEFF bl malloc
ARM GAS /tmp/cczIN1cV.s page 43
ARM GAS /tmp/cc6OCjXR.s page 43
1587 .LVL161:
@@ -2578,7 +2578,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1630 .align 2
1631 .L93:
1632 0070 00000000 .word fno
ARM GAS /tmp/cczIN1cV.s page 44
ARM GAS /tmp/cc6OCjXR.s page 44
1633 0074 00000000 .word fresult
@@ -2638,7 +2638,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1677 000a 1870 strb r0, [r3]
549:Src/File_Handling.c **** if (fresult == FR_OK)
1678 .loc 1 549 5 is_stmt 1 view .LVU447
ARM GAS /tmp/cczIN1cV.s page 45
ARM GAS /tmp/cc6OCjXR.s page 45
1679 .loc 1 549 8 is_stmt 0 view .LVU448
@@ -2698,7 +2698,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1716 .LVL177:
1717 0032 0646 mov r6, r0
1718 .LVL178:
ARM GAS /tmp/cczIN1cV.s page 46
ARM GAS /tmp/cc6OCjXR.s page 46
559:Src/File_Handling.c **** Send_Uart(buf);
@@ -2758,7 +2758,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1761 .cfi_startproc
1762 @ args = 0, pretend = 0, frame = 0
1763 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/cczIN1cV.s page 47
ARM GAS /tmp/cc6OCjXR.s page 47
1764 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
@@ -2818,7 +2818,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1813 .LVL183:
573:Src/File_Handling.c **** sprintf (buf, "SD CARD Total Size: \t%lu\n",total);
1814 .loc 1 573 5 is_stmt 1 view .LVU475
ARM GAS /tmp/cczIN1cV.s page 48
ARM GAS /tmp/cc6OCjXR.s page 48
1815 0046 2246 mov r2, r4
@@ -2878,7 +2878,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1861 .cfi_restore 80
1862 .cfi_restore 81
1863 .cfi_def_cfa_offset 24
ARM GAS /tmp/cczIN1cV.s page 49
ARM GAS /tmp/cc6OCjXR.s page 49
1864 0092 F8BD pop {r3, r4, r5, r6, r7, pc}
@@ -2938,7 +2938,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1915 000e 104B ldr r3, .L110+4
1916 0010 1870 strb r0, [r3]
587:Src/File_Handling.c **** if (fresult != FR_OK)
ARM GAS /tmp/cczIN1cV.s page 50
ARM GAS /tmp/cc6OCjXR.s page 50
1917 .loc 1 587 2 is_stmt 1 view .LVU497
@@ -2998,7 +2998,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
629:Src/File_Handling.c **** if (fresult != FR_OK)
630:Src/File_Handling.c **** {
631:Src/File_Handling.c **** char *buf = malloc(100*sizeof(char));
ARM GAS /tmp/cczIN1cV.s page 51
ARM GAS /tmp/cc6OCjXR.s page 51
632:Src/File_Handling.c **** //sprintf (buf, "ERROR!!! No. %d in closing file *%s*\n\n", fresult, name);
@@ -3058,7 +3058,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
1959 002e 0A4B ldr r3, .L110+12
1960 0030 3246 mov r2, r6
1961 0032 2946 mov r1, r5
ARM GAS /tmp/cczIN1cV.s page 52
ARM GAS /tmp/cc6OCjXR.s page 52
1962 0034 3846 mov r0, r7
@@ -3118,7 +3118,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
2005 .LVL200:
2006 .LFB1201:
646:Src/File_Handling.c ****
ARM GAS /tmp/cczIN1cV.s page 53
ARM GAS /tmp/cc6OCjXR.s page 53
647:Src/File_Handling.c **** FRESULT Update_File_byte (char *name, uint8_t *data, unsigned int bytesize)
@@ -3178,7 +3178,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
661:Src/File_Handling.c **** {
662:Src/File_Handling.c **** /* Create a file with read write access and open it */
663:Src/File_Handling.c **** fresult = f_open(&fil, name, FA_OPEN_APPEND | FA_WRITE);
ARM GAS /tmp/cczIN1cV.s page 54
ARM GAS /tmp/cc6OCjXR.s page 54
664:Src/File_Handling.c **** if (fresult != FR_OK)
@@ -3238,7 +3238,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
2053 0018 3222 movs r2, #50
2054 001a 2146 mov r1, r4
2055 001c 0D48 ldr r0, .L117+8
ARM GAS /tmp/cczIN1cV.s page 55
ARM GAS /tmp/cc6OCjXR.s page 55
2056 001e FFF7FEFF bl f_open
@@ -3298,7 +3298,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
2094 .LVL208:
692:Src/File_Handling.c **** if (fresult != FR_OK)
2095 .loc 1 692 14 discriminator 1 view .LVU561
ARM GAS /tmp/cczIN1cV.s page 56
ARM GAS /tmp/cc6OCjXR.s page 56
2096 0044 2070 strb r0, [r4]
@@ -3358,7 +3358,7 @@ ARM GAS /tmp/cczIN1cV.s page 1
2158 .align 2
2161 fno:
2162 0000 00000000 .space 24
ARM GAS /tmp/cczIN1cV.s page 57
ARM GAS /tmp/cc6OCjXR.s page 57
2162 00000000
@@ -3396,86 +3396,86 @@ ARM GAS /tmp/cczIN1cV.s page 1
2187 .file 10 "/usr/include/newlib/stdio.h"
2188 .file 11 "/usr/include/newlib/stdlib.h"
2189 .file 12 "<built-in>"
ARM GAS /tmp/cczIN1cV.s page 58
ARM GAS /tmp/cc6OCjXR.s page 58
DEFINED SYMBOLS
*ABS*:00000000 File_Handling.c
/tmp/cczIN1cV.s:20 .text.Send_Uart:00000000 $t
/tmp/cczIN1cV.s:26 .text.Send_Uart:00000000 Send_Uart
/tmp/cczIN1cV.s:40 .text.Mount_SD:00000000 $t
/tmp/cczIN1cV.s:46 .text.Mount_SD:00000000 Mount_SD
/tmp/cczIN1cV.s:86 .text.Mount_SD:0000001c $d
/tmp/cczIN1cV.s:2175 .bss.fs:00000000 fs
/tmp/cczIN1cV.s:92 .text.Unmount_SD:00000000 $t
/tmp/cczIN1cV.s:98 .text.Unmount_SD:00000000 Unmount_SD
/tmp/cczIN1cV.s:138 .text.Unmount_SD:0000001c $d
/tmp/cczIN1cV.s:143 .rodata.Scan_SD.str1.4:00000000 $d
/tmp/cczIN1cV.s:156 .text.Scan_SD:00000000 $t
/tmp/cczIN1cV.s:162 .text.Scan_SD:00000000 Scan_SD
/tmp/cczIN1cV.s:344 .text.Scan_SD:000000b8 $d
/tmp/cczIN1cV.s:2161 .bss.fno:00000000 fno
/tmp/cczIN1cV.s:355 .rodata.Format_SD.str1.4:00000000 $d
/tmp/cczIN1cV.s:359 .text.Format_SD:00000000 $t
/tmp/cczIN1cV.s:365 .text.Format_SD:00000000 Format_SD
/tmp/cczIN1cV.s:485 .text.Format_SD:00000078 $d
/tmp/cczIN1cV.s:494 .text.Write_File:00000000 $t
/tmp/cczIN1cV.s:500 .text.Write_File:00000000 Write_File
/tmp/cczIN1cV.s:604 .text.Write_File:00000050 $d
/tmp/cczIN1cV.s:2168 .bss.fil:00000000 fil
/tmp/cczIN1cV.s:2147 .bss.bw:00000000 bw
/tmp/cczIN1cV.s:612 .text.Write_File_byte:00000000 $t
/tmp/cczIN1cV.s:618 .text.Write_File_byte:00000000 Write_File_byte
/tmp/cczIN1cV.s:721 .text.Write_File_byte:0000004c $d
/tmp/cczIN1cV.s:729 .rodata.Read_File.str1.4:00000000 $d
/tmp/cczIN1cV.s:745 .text.Read_File:00000000 $t
/tmp/cczIN1cV.s:751 .text.Read_File:00000000 Read_File
/tmp/cczIN1cV.s:976 .text.Read_File:000000e4 $d
/tmp/cczIN1cV.s:2154 .bss.br:00000000 br
/tmp/cczIN1cV.s:991 .rodata.Seek_Read_File.str1.4:00000000 $d
/tmp/cczIN1cV.s:995 .text.Seek_Read_File:00000000 $t
/tmp/cczIN1cV.s:1001 .text.Seek_Read_File:00000000 Seek_Read_File
/tmp/cczIN1cV.s:1271 .text.Seek_Read_File:0000011c $d
/tmp/cczIN1cV.s:1287 .text.Create_File:00000000 $t
/tmp/cczIN1cV.s:1293 .text.Create_File:00000000 Create_File
/tmp/cczIN1cV.s:1372 .text.Create_File:00000038 $d
/tmp/cczIN1cV.s:1379 .text.Update_File:00000000 $t
/tmp/cczIN1cV.s:1385 .text.Update_File:00000000 Update_File
/tmp/cczIN1cV.s:1489 .text.Update_File:00000050 $d
/tmp/cczIN1cV.s:1497 .rodata.Remove_File.str1.4:00000000 $d
/tmp/cczIN1cV.s:1507 .text.Remove_File:00000000 $t
/tmp/cczIN1cV.s:1513 .text.Remove_File:00000000 Remove_File
/tmp/cczIN1cV.s:1632 .text.Remove_File:00000070 $d
/tmp/cczIN1cV.s:1642 .rodata.Create_Dir.str1.4:00000000 $d
/tmp/cczIN1cV.s:1649 .text.Create_Dir:00000000 $t
/tmp/cczIN1cV.s:1655 .text.Create_Dir:00000000 Create_Dir
/tmp/cczIN1cV.s:1734 .text.Create_Dir:00000048 $d
/tmp/cczIN1cV.s:1742 .rodata.Check_SD_Space.str1.4:00000000 $d
/tmp/cczIN1cV.s:1752 .text.Check_SD_Space:00000000 $t
/tmp/cczIN1cV.s:1758 .text.Check_SD_Space:00000000 Check_SD_Space
/tmp/cczIN1cV.s:1870 .text.Check_SD_Space:00000094 $d
/tmp/cczIN1cV.s:2140 .bss.pfs:00000000 pfs
/tmp/cczIN1cV.s:2133 .bss.fre_clust:00000000 fre_clust
ARM GAS /tmp/cczIN1cV.s page 59
/tmp/cc6OCjXR.s:20 .text.Send_Uart:00000000 $t
/tmp/cc6OCjXR.s:26 .text.Send_Uart:00000000 Send_Uart
/tmp/cc6OCjXR.s:40 .text.Mount_SD:00000000 $t
/tmp/cc6OCjXR.s:46 .text.Mount_SD:00000000 Mount_SD
/tmp/cc6OCjXR.s:86 .text.Mount_SD:0000001c $d
/tmp/cc6OCjXR.s:2175 .bss.fs:00000000 fs
/tmp/cc6OCjXR.s:92 .text.Unmount_SD:00000000 $t
/tmp/cc6OCjXR.s:98 .text.Unmount_SD:00000000 Unmount_SD
/tmp/cc6OCjXR.s:138 .text.Unmount_SD:0000001c $d
/tmp/cc6OCjXR.s:143 .rodata.Scan_SD.str1.4:00000000 $d
/tmp/cc6OCjXR.s:156 .text.Scan_SD:00000000 $t
/tmp/cc6OCjXR.s:162 .text.Scan_SD:00000000 Scan_SD
/tmp/cc6OCjXR.s:344 .text.Scan_SD:000000b8 $d
/tmp/cc6OCjXR.s:2161 .bss.fno:00000000 fno
/tmp/cc6OCjXR.s:355 .rodata.Format_SD.str1.4:00000000 $d
/tmp/cc6OCjXR.s:359 .text.Format_SD:00000000 $t
/tmp/cc6OCjXR.s:365 .text.Format_SD:00000000 Format_SD
/tmp/cc6OCjXR.s:485 .text.Format_SD:00000078 $d
/tmp/cc6OCjXR.s:494 .text.Write_File:00000000 $t
/tmp/cc6OCjXR.s:500 .text.Write_File:00000000 Write_File
/tmp/cc6OCjXR.s:604 .text.Write_File:00000050 $d
/tmp/cc6OCjXR.s:2168 .bss.fil:00000000 fil
/tmp/cc6OCjXR.s:2147 .bss.bw:00000000 bw
/tmp/cc6OCjXR.s:612 .text.Write_File_byte:00000000 $t
/tmp/cc6OCjXR.s:618 .text.Write_File_byte:00000000 Write_File_byte
/tmp/cc6OCjXR.s:721 .text.Write_File_byte:0000004c $d
/tmp/cc6OCjXR.s:729 .rodata.Read_File.str1.4:00000000 $d
/tmp/cc6OCjXR.s:745 .text.Read_File:00000000 $t
/tmp/cc6OCjXR.s:751 .text.Read_File:00000000 Read_File
/tmp/cc6OCjXR.s:976 .text.Read_File:000000e4 $d
/tmp/cc6OCjXR.s:2154 .bss.br:00000000 br
/tmp/cc6OCjXR.s:991 .rodata.Seek_Read_File.str1.4:00000000 $d
/tmp/cc6OCjXR.s:995 .text.Seek_Read_File:00000000 $t
/tmp/cc6OCjXR.s:1001 .text.Seek_Read_File:00000000 Seek_Read_File
/tmp/cc6OCjXR.s:1271 .text.Seek_Read_File:0000011c $d
/tmp/cc6OCjXR.s:1287 .text.Create_File:00000000 $t
/tmp/cc6OCjXR.s:1293 .text.Create_File:00000000 Create_File
/tmp/cc6OCjXR.s:1372 .text.Create_File:00000038 $d
/tmp/cc6OCjXR.s:1379 .text.Update_File:00000000 $t
/tmp/cc6OCjXR.s:1385 .text.Update_File:00000000 Update_File
/tmp/cc6OCjXR.s:1489 .text.Update_File:00000050 $d
/tmp/cc6OCjXR.s:1497 .rodata.Remove_File.str1.4:00000000 $d
/tmp/cc6OCjXR.s:1507 .text.Remove_File:00000000 $t
/tmp/cc6OCjXR.s:1513 .text.Remove_File:00000000 Remove_File
/tmp/cc6OCjXR.s:1632 .text.Remove_File:00000070 $d
/tmp/cc6OCjXR.s:1642 .rodata.Create_Dir.str1.4:00000000 $d
/tmp/cc6OCjXR.s:1649 .text.Create_Dir:00000000 $t
/tmp/cc6OCjXR.s:1655 .text.Create_Dir:00000000 Create_Dir
/tmp/cc6OCjXR.s:1734 .text.Create_Dir:00000048 $d
/tmp/cc6OCjXR.s:1742 .rodata.Check_SD_Space.str1.4:00000000 $d
/tmp/cc6OCjXR.s:1752 .text.Check_SD_Space:00000000 $t
/tmp/cc6OCjXR.s:1758 .text.Check_SD_Space:00000000 Check_SD_Space
/tmp/cc6OCjXR.s:1870 .text.Check_SD_Space:00000094 $d
/tmp/cc6OCjXR.s:2140 .bss.pfs:00000000 pfs
/tmp/cc6OCjXR.s:2133 .bss.fre_clust:00000000 fre_clust
ARM GAS /tmp/cc6OCjXR.s page 59
/tmp/cczIN1cV.s:2126 .bss.total:00000000 total
/tmp/cczIN1cV.s:2119 .bss.free_space:00000000 free_space
/tmp/cczIN1cV.s:1881 .text.Update_File_float:00000000 $t
/tmp/cczIN1cV.s:1887 .text.Update_File_float:00000000 Update_File_float
/tmp/cczIN1cV.s:1990 .text.Update_File_float:0000004c $d
/tmp/cczIN1cV.s:1998 .text.Update_File_byte:00000000 $t
/tmp/cczIN1cV.s:2004 .text.Update_File_byte:00000000 Update_File_byte
/tmp/cczIN1cV.s:2107 .text.Update_File_byte:0000004c $d
/tmp/cczIN1cV.s:2116 .bss.free_space:00000000 $d
/tmp/cczIN1cV.s:2123 .bss.total:00000000 $d
/tmp/cczIN1cV.s:2130 .bss.fre_clust:00000000 $d
/tmp/cczIN1cV.s:2137 .bss.pfs:00000000 $d
/tmp/cczIN1cV.s:2144 .bss.bw:00000000 $d
/tmp/cczIN1cV.s:2151 .bss.br:00000000 $d
/tmp/cczIN1cV.s:2158 .bss.fno:00000000 $d
/tmp/cczIN1cV.s:2165 .bss.fil:00000000 $d
/tmp/cczIN1cV.s:2172 .bss.fs:00000000 $d
/tmp/cc6OCjXR.s:2126 .bss.total:00000000 total
/tmp/cc6OCjXR.s:2119 .bss.free_space:00000000 free_space
/tmp/cc6OCjXR.s:1881 .text.Update_File_float:00000000 $t
/tmp/cc6OCjXR.s:1887 .text.Update_File_float:00000000 Update_File_float
/tmp/cc6OCjXR.s:1990 .text.Update_File_float:0000004c $d
/tmp/cc6OCjXR.s:1998 .text.Update_File_byte:00000000 $t
/tmp/cc6OCjXR.s:2004 .text.Update_File_byte:00000000 Update_File_byte
/tmp/cc6OCjXR.s:2107 .text.Update_File_byte:0000004c $d
/tmp/cc6OCjXR.s:2116 .bss.free_space:00000000 $d
/tmp/cc6OCjXR.s:2123 .bss.total:00000000 $d
/tmp/cc6OCjXR.s:2130 .bss.fre_clust:00000000 $d
/tmp/cc6OCjXR.s:2137 .bss.pfs:00000000 $d
/tmp/cc6OCjXR.s:2144 .bss.bw:00000000 $d
/tmp/cc6OCjXR.s:2151 .bss.br:00000000 $d
/tmp/cc6OCjXR.s:2158 .bss.fno:00000000 $d
/tmp/cc6OCjXR.s:2165 .bss.fil:00000000 $d
/tmp/cc6OCjXR.s:2172 .bss.fs:00000000 $d
UNDEFINED SYMBOLS
f_mount
Binary file not shown.
Binary file not shown.
+2710 -2621
View File
File diff suppressed because it is too large Load Diff
+1114 -1096
View File
File diff suppressed because it is too large Load Diff
+26 -26
View File
@@ -1,4 +1,4 @@
ARM GAS /tmp/cckyLcZT.s page 1
ARM GAS /tmp/ccdXV1P2.s page 1
1 .cpu cortex-m7
@@ -58,7 +58,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
28:Middlewares/Third_Party/FatFs/src/diskio.c **** /* Private function prototypes -----------------------------------------------*/
29:Middlewares/Third_Party/FatFs/src/diskio.c **** /* Private functions ---------------------------------------------------------*/
30:Middlewares/Third_Party/FatFs/src/diskio.c ****
ARM GAS /tmp/cckyLcZT.s page 2
ARM GAS /tmp/ccdXV1P2.s page 2
31:Middlewares/Third_Party/FatFs/src/diskio.c **** /**
@@ -118,7 +118,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
71 disk_initialize:
72 .LVL3:
73 .LFB1184:
ARM GAS /tmp/cckyLcZT.s page 3
ARM GAS /tmp/ccdXV1P2.s page 3
45:Middlewares/Third_Party/FatFs/src/diskio.c ****
@@ -178,7 +178,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
62:Middlewares/Third_Party/FatFs/src/diskio.c **** return stat;
111 .loc 1 62 3 is_stmt 1 view .LVU23
63:Middlewares/Third_Party/FatFs/src/diskio.c **** }
ARM GAS /tmp/cckyLcZT.s page 4
ARM GAS /tmp/ccdXV1P2.s page 4
112 .loc 1 63 1 is_stmt 0 view .LVU24
@@ -238,7 +238,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
80:Middlewares/Third_Party/FatFs/src/diskio.c **** DRESULT res;
150 .loc 1 80 3 is_stmt 1 view .LVU29
81:Middlewares/Third_Party/FatFs/src/diskio.c ****
ARM GAS /tmp/cckyLcZT.s page 5
ARM GAS /tmp/ccdXV1P2.s page 5
82:Middlewares/Third_Party/FatFs/src/diskio.c **** res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count);
@@ -298,7 +298,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
187 @ args = 0, pretend = 0, frame = 0
188 @ frame_needed = 0, uses_anonymous_args = 0
189 .loc 1 101 1 is_stmt 0 view .LVU38
ARM GAS /tmp/cckyLcZT.s page 6
ARM GAS /tmp/ccdXV1P2.s page 6
190 0000 38B5 push {r3, r4, r5, lr}
@@ -358,7 +358,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
116:Middlewares/Third_Party/FatFs/src/diskio.c **** #if _USE_IOCTL == 1
117:Middlewares/Third_Party/FatFs/src/diskio.c **** DRESULT disk_ioctl (
118:Middlewares/Third_Party/FatFs/src/diskio.c **** BYTE pdrv, /* Physical drive nmuber (0..) */
ARM GAS /tmp/cckyLcZT.s page 7
ARM GAS /tmp/ccdXV1P2.s page 7
119:Middlewares/Third_Party/FatFs/src/diskio.c **** BYTE cmd, /* Control code */
@@ -418,7 +418,7 @@ ARM GAS /tmp/cckyLcZT.s page 1
131:Middlewares/Third_Party/FatFs/src/diskio.c **** * @brief Gets Time from RTC
132:Middlewares/Third_Party/FatFs/src/diskio.c **** * @param None
133:Middlewares/Third_Party/FatFs/src/diskio.c **** * @retval Time in DWORD
ARM GAS /tmp/cckyLcZT.s page 8
ARM GAS /tmp/ccdXV1P2.s page 8
134:Middlewares/Third_Party/FatFs/src/diskio.c **** */
@@ -446,28 +446,28 @@ ARM GAS /tmp/cckyLcZT.s page 1
294 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h"
295 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h"
296 .file 8 "Middlewares/Third_Party/FatFs/src/ff_gen_drv.h"
ARM GAS /tmp/cckyLcZT.s page 9
ARM GAS /tmp/ccdXV1P2.s page 9
DEFINED SYMBOLS
*ABS*:00000000 diskio.c
/tmp/cckyLcZT.s:20 .text.disk_status:00000000 $t
/tmp/cckyLcZT.s:26 .text.disk_status:00000000 disk_status
/tmp/cckyLcZT.s:60 .text.disk_status:00000014 $d
/tmp/cckyLcZT.s:65 .text.disk_initialize:00000000 $t
/tmp/cckyLcZT.s:71 .text.disk_initialize:00000000 disk_initialize
/tmp/cckyLcZT.s:124 .text.disk_initialize:00000024 $d
/tmp/cckyLcZT.s:129 .text.disk_read:00000000 $t
/tmp/cckyLcZT.s:135 .text.disk_read:00000000 disk_read
/tmp/cckyLcZT.s:171 .text.disk_read:00000014 $d
/tmp/cckyLcZT.s:176 .text.disk_write:00000000 $t
/tmp/cckyLcZT.s:182 .text.disk_write:00000000 disk_write
/tmp/cckyLcZT.s:218 .text.disk_write:00000014 $d
/tmp/cckyLcZT.s:223 .text.disk_ioctl:00000000 $t
/tmp/cckyLcZT.s:229 .text.disk_ioctl:00000000 disk_ioctl
/tmp/cckyLcZT.s:263 .text.disk_ioctl:00000014 $d
/tmp/cckyLcZT.s:268 .text.get_fattime:00000000 $t
/tmp/cckyLcZT.s:274 .text.get_fattime:00000000 get_fattime
/tmp/ccdXV1P2.s:20 .text.disk_status:00000000 $t
/tmp/ccdXV1P2.s:26 .text.disk_status:00000000 disk_status
/tmp/ccdXV1P2.s:60 .text.disk_status:00000014 $d
/tmp/ccdXV1P2.s:65 .text.disk_initialize:00000000 $t
/tmp/ccdXV1P2.s:71 .text.disk_initialize:00000000 disk_initialize
/tmp/ccdXV1P2.s:124 .text.disk_initialize:00000024 $d
/tmp/ccdXV1P2.s:129 .text.disk_read:00000000 $t
/tmp/ccdXV1P2.s:135 .text.disk_read:00000000 disk_read
/tmp/ccdXV1P2.s:171 .text.disk_read:00000014 $d
/tmp/ccdXV1P2.s:176 .text.disk_write:00000000 $t
/tmp/ccdXV1P2.s:182 .text.disk_write:00000000 disk_write
/tmp/ccdXV1P2.s:218 .text.disk_write:00000014 $d
/tmp/ccdXV1P2.s:223 .text.disk_ioctl:00000000 $t
/tmp/ccdXV1P2.s:229 .text.disk_ioctl:00000000 disk_ioctl
/tmp/ccdXV1P2.s:263 .text.disk_ioctl:00000014 $d
/tmp/ccdXV1P2.s:268 .text.get_fattime:00000000 $t
/tmp/ccdXV1P2.s:274 .text.get_fattime:00000000 get_fattime
UNDEFINED SYMBOLS
disk
+17 -17
View File
@@ -1,4 +1,4 @@
ARM GAS /tmp/ccFLcHcr.s page 1
ARM GAS /tmp/ccXTUOPr.s page 1
1 .cpu cortex-m7
@@ -58,7 +58,7 @@ ARM GAS /tmp/ccFLcHcr.s page 1
29:Src/fatfs.c ****
30:Src/fatfs.c **** void MX_FATFS_Init(void)
31:Src/fatfs.c **** {
ARM GAS /tmp/ccFLcHcr.s page 2
ARM GAS /tmp/ccXTUOPr.s page 2
28 .loc 1 31 1 view -0
@@ -118,7 +118,7 @@ ARM GAS /tmp/ccFLcHcr.s page 1
69 @ frame_needed = 0, uses_anonymous_args = 0
70 @ link register save eliminated.
47:Src/fatfs.c **** /* USER CODE BEGIN get_fattime */
ARM GAS /tmp/ccFLcHcr.s page 3
ARM GAS /tmp/ccXTUOPr.s page 3
48:Src/fatfs.c **** return 0;
@@ -169,24 +169,24 @@ ARM GAS /tmp/ccFLcHcr.s page 1
114 .file 9 "Middlewares/Third_Party/FatFs/src/ff_gen_drv.h"
115 .file 10 "Inc/sd_diskio.h"
116 .file 11 "Inc/fatfs.h"
ARM GAS /tmp/ccFLcHcr.s page 4
ARM GAS /tmp/ccXTUOPr.s page 4
DEFINED SYMBOLS
*ABS*:00000000 fatfs.c
/tmp/ccFLcHcr.s:20 .text.MX_FATFS_Init:00000000 $t
/tmp/ccFLcHcr.s:26 .text.MX_FATFS_Init:00000000 MX_FATFS_Init
/tmp/ccFLcHcr.s:51 .text.MX_FATFS_Init:00000010 $d
/tmp/ccFLcHcr.s:97 .bss.SDPath:00000000 SDPath
/tmp/ccFLcHcr.s:103 .bss.retSD:00000000 retSD
/tmp/ccFLcHcr.s:58 .text.get_fattime:00000000 $t
/tmp/ccFLcHcr.s:64 .text.get_fattime:00000000 get_fattime
/tmp/ccFLcHcr.s:83 .bss.SDFile:00000000 SDFile
/tmp/ccFLcHcr.s:80 .bss.SDFile:00000000 $d
/tmp/ccFLcHcr.s:90 .bss.SDFatFS:00000000 SDFatFS
/tmp/ccFLcHcr.s:87 .bss.SDFatFS:00000000 $d
/tmp/ccFLcHcr.s:94 .bss.SDPath:00000000 $d
/tmp/ccFLcHcr.s:104 .bss.retSD:00000000 $d
/tmp/ccXTUOPr.s:20 .text.MX_FATFS_Init:00000000 $t
/tmp/ccXTUOPr.s:26 .text.MX_FATFS_Init:00000000 MX_FATFS_Init
/tmp/ccXTUOPr.s:51 .text.MX_FATFS_Init:00000010 $d
/tmp/ccXTUOPr.s:97 .bss.SDPath:00000000 SDPath
/tmp/ccXTUOPr.s:103 .bss.retSD:00000000 retSD
/tmp/ccXTUOPr.s:58 .text.get_fattime:00000000 $t
/tmp/ccXTUOPr.s:64 .text.get_fattime:00000000 get_fattime
/tmp/ccXTUOPr.s:83 .bss.SDFile:00000000 SDFile
/tmp/ccXTUOPr.s:80 .bss.SDFile:00000000 $d
/tmp/ccXTUOPr.s:90 .bss.SDFatFS:00000000 SDFatFS
/tmp/ccXTUOPr.s:87 .bss.SDFatFS:00000000 $d
/tmp/ccXTUOPr.s:94 .bss.SDPath:00000000 $d
/tmp/ccXTUOPr.s:104 .bss.retSD:00000000 $d
UNDEFINED SYMBOLS
FATFS_LinkDriver
+535 -535
View File
File diff suppressed because it is too large Load Diff
+24 -24
View File
@@ -1,4 +1,4 @@
ARM GAS /tmp/ccoeDKf8.s page 1
ARM GAS /tmp/ccaLv9j7.s page 1
1 .cpu cortex-m7
@@ -58,7 +58,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
28:Middlewares/Third_Party/FatFs/src/ff_gen_drv.c ****
29:Middlewares/Third_Party/FatFs/src/ff_gen_drv.c **** /**
30:Middlewares/Third_Party/FatFs/src/ff_gen_drv.c **** * @brief Links a compatible diskio driver/lun id and increments the number of active
ARM GAS /tmp/ccoeDKf8.s page 2
ARM GAS /tmp/ccaLv9j7.s page 2
31:Middlewares/Third_Party/FatFs/src/ff_gen_drv.c **** * linked drivers.
@@ -118,7 +118,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
64 .loc 1 48 5 is_stmt 1 view .LVU13
65 .loc 1 48 18 is_stmt 0 view .LVU14
66 002c 5C7A ldrb r4, [r3, #9] @ zero_extendqisi2
ARM GAS /tmp/ccoeDKf8.s page 3
ARM GAS /tmp/ccaLv9j7.s page 3
67 .LVL2:
@@ -178,7 +178,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
41:Middlewares/Third_Party/FatFs/src/ff_gen_drv.c **** uint8_t DiskNum = 0;
111 .loc 1 41 11 view .LVU32
112 004c 0120 movs r0, #1
ARM GAS /tmp/ccoeDKf8.s page 4
ARM GAS /tmp/ccaLv9j7.s page 4
113 .LVL10:
@@ -238,7 +238,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
156 .global FATFS_UnLinkDriverEx
157 .syntax unified
158 .thumb
ARM GAS /tmp/ccoeDKf8.s page 5
ARM GAS /tmp/ccaLv9j7.s page 5
159 .thumb_func
@@ -298,7 +298,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
195 .LVL15:
196 .loc 1 90 25 view .LVU54
197 001c 0020 movs r0, #0
ARM GAS /tmp/ccoeDKf8.s page 6
ARM GAS /tmp/ccaLv9j7.s page 6
198 .LVL16:
@@ -358,7 +358,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
242 .align 1
243 .global FATFS_UnLinkDriver
244 .syntax unified
ARM GAS /tmp/ccoeDKf8.s page 7
ARM GAS /tmp/ccaLv9j7.s page 7
245 .thumb
@@ -418,7 +418,7 @@ ARM GAS /tmp/ccoeDKf8.s page 1
283 @ frame_needed = 0, uses_anonymous_args = 0
284 @ link register save eliminated.
118:Middlewares/Third_Party/FatFs/src/ff_gen_drv.c **** return disk.nbr;
ARM GAS /tmp/ccoeDKf8.s page 8
ARM GAS /tmp/ccaLv9j7.s page 8
285 .loc 1 118 3 view .LVU75
@@ -450,25 +450,25 @@ ARM GAS /tmp/ccoeDKf8.s page 1
311 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h"
312 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h"
313 .file 8 "Middlewares/Third_Party/FatFs/src/ff_gen_drv.h"
ARM GAS /tmp/ccoeDKf8.s page 9
ARM GAS /tmp/ccaLv9j7.s page 9
DEFINED SYMBOLS
*ABS*:00000000 ff_gen_drv.c
/tmp/ccoeDKf8.s:20 .text.FATFS_LinkDriverEx:00000000 $t
/tmp/ccoeDKf8.s:26 .text.FATFS_LinkDriverEx:00000000 FATFS_LinkDriverEx
/tmp/ccoeDKf8.s:120 .text.FATFS_LinkDriverEx:00000050 $d
/tmp/ccoeDKf8.s:303 .bss.disk:00000000 disk
/tmp/ccoeDKf8.s:125 .text.FATFS_LinkDriver:00000000 $t
/tmp/ccoeDKf8.s:131 .text.FATFS_LinkDriver:00000000 FATFS_LinkDriver
/tmp/ccoeDKf8.s:155 .text.FATFS_UnLinkDriverEx:00000000 $t
/tmp/ccoeDKf8.s:161 .text.FATFS_UnLinkDriverEx:00000000 FATFS_UnLinkDriverEx
/tmp/ccoeDKf8.s:237 .text.FATFS_UnLinkDriverEx:00000038 $d
/tmp/ccoeDKf8.s:242 .text.FATFS_UnLinkDriver:00000000 $t
/tmp/ccoeDKf8.s:248 .text.FATFS_UnLinkDriver:00000000 FATFS_UnLinkDriver
/tmp/ccoeDKf8.s:272 .text.FATFS_GetAttachedDriversNbr:00000000 $t
/tmp/ccoeDKf8.s:278 .text.FATFS_GetAttachedDriversNbr:00000000 FATFS_GetAttachedDriversNbr
/tmp/ccoeDKf8.s:294 .text.FATFS_GetAttachedDriversNbr:00000008 $d
/tmp/ccoeDKf8.s:300 .bss.disk:00000000 $d
/tmp/ccaLv9j7.s:20 .text.FATFS_LinkDriverEx:00000000 $t
/tmp/ccaLv9j7.s:26 .text.FATFS_LinkDriverEx:00000000 FATFS_LinkDriverEx
/tmp/ccaLv9j7.s:120 .text.FATFS_LinkDriverEx:00000050 $d
/tmp/ccaLv9j7.s:303 .bss.disk:00000000 disk
/tmp/ccaLv9j7.s:125 .text.FATFS_LinkDriver:00000000 $t
/tmp/ccaLv9j7.s:131 .text.FATFS_LinkDriver:00000000 FATFS_LinkDriver
/tmp/ccaLv9j7.s:155 .text.FATFS_UnLinkDriverEx:00000000 $t
/tmp/ccaLv9j7.s:161 .text.FATFS_UnLinkDriverEx:00000000 FATFS_UnLinkDriverEx
/tmp/ccaLv9j7.s:237 .text.FATFS_UnLinkDriverEx:00000038 $d
/tmp/ccaLv9j7.s:242 .text.FATFS_UnLinkDriver:00000000 $t
/tmp/ccaLv9j7.s:248 .text.FATFS_UnLinkDriver:00000000 FATFS_UnLinkDriver
/tmp/ccaLv9j7.s:272 .text.FATFS_GetAttachedDriversNbr:00000000 $t
/tmp/ccaLv9j7.s:278 .text.FATFS_GetAttachedDriversNbr:00000000 FATFS_GetAttachedDriversNbr
/tmp/ccaLv9j7.s:294 .text.FATFS_GetAttachedDriversNbr:00000008 $d
/tmp/ccaLv9j7.s:300 .bss.disk:00000000 $d
NO UNDEFINED SYMBOLS
+22010 -20261
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+33 -33
View File
@@ -1,4 +1,4 @@
ARM GAS /tmp/cc8X4L5w.s page 1
ARM GAS /tmp/ccx8I3an.s page 1
1 .cpu cortex-m7
@@ -58,7 +58,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
29:Src/sd_diskio.c **** #include "sd_diskio.h"
30:Src/sd_diskio.c ****
31:Src/sd_diskio.c **** /* Private typedef -----------------------------------------------------------*/
ARM GAS /tmp/cc8X4L5w.s page 2
ARM GAS /tmp/ccx8I3an.s page 2
32:Src/sd_diskio.c **** /* Private define ------------------------------------------------------------*/
@@ -118,7 +118,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
86:Src/sd_diskio.c **** /* USER CODE END beforeFunctionSection */
87:Src/sd_diskio.c ****
88:Src/sd_diskio.c **** /* Private functions ---------------------------------------------------------*/
ARM GAS /tmp/cc8X4L5w.s page 3
ARM GAS /tmp/ccx8I3an.s page 3
89:Src/sd_diskio.c ****
@@ -178,7 +178,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
71 .global SD_initialize
72 .syntax unified
73 .thumb
ARM GAS /tmp/cc8X4L5w.s page 4
ARM GAS /tmp/ccx8I3an.s page 4
74 .thumb_func
@@ -238,7 +238,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
106 .loc 1 123 1 view .LVU21
107 0014 10BD pop {r4, pc}
108 .LVL4:
ARM GAS /tmp/cc8X4L5w.s page 5
ARM GAS /tmp/ccx8I3an.s page 5
109 .L9:
@@ -298,7 +298,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
152 .cfi_endproc
153 .LFE1185:
155 .section .text.SD_read,"ax",%progbits
ARM GAS /tmp/cc8X4L5w.s page 6
ARM GAS /tmp/ccx8I3an.s page 6
156 .align 1
@@ -358,7 +358,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
193 .L16:
152:Src/sd_diskio.c **** (uint32_t) (sector),
153:Src/sd_diskio.c **** count, SD_TIMEOUT) == MSD_OK)
ARM GAS /tmp/cc8X4L5w.s page 7
ARM GAS /tmp/ccx8I3an.s page 7
154:Src/sd_diskio.c **** {
@@ -418,7 +418,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
173:Src/sd_diskio.c **** * @param count: Number of sectors to write (1..128)
174:Src/sd_diskio.c **** * @retval DRESULT: Operation result
175:Src/sd_diskio.c **** */
ARM GAS /tmp/cc8X4L5w.s page 8
ARM GAS /tmp/ccx8I3an.s page 8
176:Src/sd_diskio.c **** #if _USE_WRITE == 1
@@ -478,7 +478,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
264 001a FAD1 bne .L21
265 .L20:
266 .LVL24:
ARM GAS /tmp/cc8X4L5w.s page 9
ARM GAS /tmp/ccx8I3an.s page 9
190:Src/sd_diskio.c **** res = RES_OK;
@@ -538,7 +538,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
302 .cfi_def_cfa_offset 48
210:Src/sd_diskio.c **** DRESULT res = RES_ERROR;
303 .loc 1 210 3 is_stmt 1 view .LVU64
ARM GAS /tmp/cc8X4L5w.s page 10
ARM GAS /tmp/ccx8I3an.s page 10
304 .LVL27:
@@ -598,7 +598,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
341 002a 0DE0 b .L25
342 .LVL31:
343 .L28:
ARM GAS /tmp/cc8X4L5w.s page 11
ARM GAS /tmp/ccx8I3an.s page 11
228:Src/sd_diskio.c ****
@@ -658,7 +658,7 @@ ARM GAS /tmp/cc8X4L5w.s page 1
245:Src/sd_diskio.c **** }
246:Src/sd_diskio.c ****
247:Src/sd_diskio.c **** return res;
ARM GAS /tmp/cc8X4L5w.s page 12
ARM GAS /tmp/ccx8I3an.s page 12
248:Src/sd_diskio.c **** }
@@ -708,31 +708,31 @@ ARM GAS /tmp/cc8X4L5w.s page 1
427 .file 9 "Middlewares/Third_Party/FatFs/src/ff_gen_drv.h"
428 .file 10 "Inc/bsp_driver_sd.h"
429 .file 11 "Inc/sd_diskio.h"
ARM GAS /tmp/cc8X4L5w.s page 13
ARM GAS /tmp/ccx8I3an.s page 13
DEFINED SYMBOLS
*ABS*:00000000 sd_diskio.c
/tmp/cc8X4L5w.s:20 .text.SD_CheckStatus:00000000 $t
/tmp/cc8X4L5w.s:25 .text.SD_CheckStatus:00000000 SD_CheckStatus
/tmp/cc8X4L5w.s:65 .text.SD_CheckStatus:00000020 $d
/tmp/cc8X4L5w.s:416 .data.Stat:00000000 Stat
/tmp/cc8X4L5w.s:70 .text.SD_initialize:00000000 $t
/tmp/cc8X4L5w.s:76 .text.SD_initialize:00000000 SD_initialize
/tmp/cc8X4L5w.s:122 .text.SD_initialize:00000024 $d
/tmp/cc8X4L5w.s:127 .text.SD_status:00000000 $t
/tmp/cc8X4L5w.s:133 .text.SD_status:00000000 SD_status
/tmp/cc8X4L5w.s:156 .text.SD_read:00000000 $t
/tmp/cc8X4L5w.s:162 .text.SD_read:00000000 SD_read
/tmp/cc8X4L5w.s:218 .text.SD_write:00000000 $t
/tmp/cc8X4L5w.s:224 .text.SD_write:00000000 SD_write
/tmp/cc8X4L5w.s:280 .text.SD_ioctl:00000000 $t
/tmp/cc8X4L5w.s:286 .text.SD_ioctl:00000000 SD_ioctl
/tmp/cc8X4L5w.s:320 .text.SD_ioctl:00000018 $d
/tmp/cc8X4L5w.s:324 .text.SD_ioctl:0000001c $t
/tmp/cc8X4L5w.s:398 .text.SD_ioctl:00000054 $d
/tmp/cc8X4L5w.s:407 .rodata.SD_Driver:00000000 SD_Driver
/tmp/cc8X4L5w.s:404 .rodata.SD_Driver:00000000 $d
/tmp/ccx8I3an.s:20 .text.SD_CheckStatus:00000000 $t
/tmp/ccx8I3an.s:25 .text.SD_CheckStatus:00000000 SD_CheckStatus
/tmp/ccx8I3an.s:65 .text.SD_CheckStatus:00000020 $d
/tmp/ccx8I3an.s:416 .data.Stat:00000000 Stat
/tmp/ccx8I3an.s:70 .text.SD_initialize:00000000 $t
/tmp/ccx8I3an.s:76 .text.SD_initialize:00000000 SD_initialize
/tmp/ccx8I3an.s:122 .text.SD_initialize:00000024 $d
/tmp/ccx8I3an.s:127 .text.SD_status:00000000 $t
/tmp/ccx8I3an.s:133 .text.SD_status:00000000 SD_status
/tmp/ccx8I3an.s:156 .text.SD_read:00000000 $t
/tmp/ccx8I3an.s:162 .text.SD_read:00000000 SD_read
/tmp/ccx8I3an.s:218 .text.SD_write:00000000 $t
/tmp/ccx8I3an.s:224 .text.SD_write:00000000 SD_write
/tmp/ccx8I3an.s:280 .text.SD_ioctl:00000000 $t
/tmp/ccx8I3an.s:286 .text.SD_ioctl:00000000 SD_ioctl
/tmp/ccx8I3an.s:320 .text.SD_ioctl:00000018 $d
/tmp/ccx8I3an.s:324 .text.SD_ioctl:0000001c $t
/tmp/ccx8I3an.s:398 .text.SD_ioctl:00000054 $d
/tmp/ccx8I3an.s:407 .rodata.SD_Driver:00000000 SD_Driver
/tmp/ccx8I3an.s:404 .rodata.SD_Driver:00000000 $d
UNDEFINED SYMBOLS
BSP_SD_GetCardState
+1157 -1010
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
+1822 -1633
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
+2 -2
View File
@@ -1,4 +1,4 @@
ARM GAS /tmp/ccd6fn4Z.s page 1
ARM GAS /tmp/ccgATpUY.s page 1
1 .cpu cortex-m7
@@ -24,7 +24,7 @@ ARM GAS /tmp/ccd6fn4Z.s page 1
21 .file 3 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h"
22 .file 4 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h"
23 .file 5 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
ARM GAS /tmp/ccd6fn4Z.s page 2
ARM GAS /tmp/ccgATpUY.s page 2
DEFINED SYMBOLS