добавила файл игнора, включаю притяжку к питанию на rx
This commit is contained in:
parent
bb5a94e9ab
commit
dac54a68e3
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
.pio
|
||||
.vscode/.browse.c_cpp.db*
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/launch.json
|
||||
.vscode/ipch
|
||||
.vscode/
|
||||
@ -60,7 +60,10 @@ void Bootloader_UART_Init()
|
||||
{
|
||||
PM->CLK_APB_P_SET = PM_CLOCK_APB_P_UART_0_M; // Включение тактирования UART0
|
||||
|
||||
PAD_CONFIG->PORT_0_CFG |= (0b01 << (5 << 1)) | (0b01 << (6 << 1)); // Настройка выводов PORT0.5 и PORT0.6
|
||||
// Настройка выводов PORT0.5 и PORT0.6 на последовательный интерфейс
|
||||
PAD_CONFIG->PORT_0_CFG |= (0b01 << (5 << 1)) | (0b01 << (6 << 1));
|
||||
// Включение притяжки к питанию на линии rx
|
||||
PAD_CONFIG->PORT_0_PUPD |= (0b01 << (5 << 1));
|
||||
|
||||
/*
|
||||
* Настройки USART:
|
||||
@ -89,7 +92,10 @@ void Bootloader_UART_Deinit()
|
||||
UART_0->FLAGS = 0xFFFFFFFF; // сброс всех флагов
|
||||
UART_0->TXDATA = 0x00;
|
||||
|
||||
PAD_CONFIG->PORT_0_CFG &= ~((0b11 << (5 << 1)) | (0b11 << (6 << 1))); // Настройка выводов PORT0.5 и PORT0.6
|
||||
// Настройка выводов PORT0.5 и PORT0.6 на порт общего назначения
|
||||
PAD_CONFIG->PORT_0_CFG &= ~((0b11 << (5 << 1)) | (0b11 << (6 << 1)));
|
||||
// Отключение притяжки на линии rx
|
||||
PAD_CONFIG->PORT_0_PUPD &= ~(0b01 << (5 << 1));
|
||||
|
||||
PM->CLK_APB_P_SET &= !PM_CLOCK_APB_P_UART_0_M; // Выключение тактирования UART0
|
||||
}
|
||||
@ -156,17 +162,7 @@ uint8_t erase_chip(SPIFI_HandleTypeDef *spifi)
|
||||
|
||||
/* Загрузить данные пакета в RAM */
|
||||
#define SIZE_4K 4096
|
||||
void Bootloader_LoadArrayInRam(uint8_t uart_data[])
|
||||
{
|
||||
static uint32_t relative_write_address;
|
||||
|
||||
if ((relative_write_address % SIZE_4K) == 0)
|
||||
HAL_SPIFI_W25_SectorErase4K(&spifi, relative_write_address);
|
||||
|
||||
HAL_SPIFI_W25_PageProgram(&spifi, (uint32_t)hBootloader.address, hBootloader.size_package, uart_data);
|
||||
hBootloader.address += hBootloader.size_package;
|
||||
relative_write_address += hBootloader.size_package;
|
||||
}
|
||||
|
||||
// разметка строки в хекс-файле
|
||||
#define BYTE_COUNT_POS 0 // индекс счетчика байт данных
|
||||
@ -217,7 +213,7 @@ void Bootloader_parseHexAndLoadInMemory(uint8_t rx_data[])
|
||||
switch (rec_type)
|
||||
{
|
||||
case REC_TYPE_EXT_LIN_ADDR:
|
||||
// если так получилось, что нам слали данные, буфер на 256 не заполнился, а тут прилетела команда смены адреса, то пишем сколько есть
|
||||
// если так получилось, что нам слали данные, буфер на 256 не заполнился, а тут прилетела команда смены адреса, то пишем сколько есть
|
||||
if (page_fill_size != 0)
|
||||
mem_write();
|
||||
// собираем адрес, с которого начинаем писать из данных команды смены адреса. нам присылают только 2 старших байта адреса
|
||||
|
||||
Loading…
Reference in New Issue
Block a user