добавила файл игнора, включаю притяжку к питанию на 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
|
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:
|
* Настройки USART:
|
||||||
@ -89,7 +92,10 @@ void Bootloader_UART_Deinit()
|
|||||||
UART_0->FLAGS = 0xFFFFFFFF; // сброс всех флагов
|
UART_0->FLAGS = 0xFFFFFFFF; // сброс всех флагов
|
||||||
UART_0->TXDATA = 0x00;
|
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
|
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 */
|
/* Загрузить данные пакета в RAM */
|
||||||
#define SIZE_4K 4096
|
#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 // индекс счетчика байт данных
|
#define BYTE_COUNT_POS 0 // индекс счетчика байт данных
|
||||||
@ -217,7 +213,7 @@ void Bootloader_parseHexAndLoadInMemory(uint8_t rx_data[])
|
|||||||
switch (rec_type)
|
switch (rec_type)
|
||||||
{
|
{
|
||||||
case REC_TYPE_EXT_LIN_ADDR:
|
case REC_TYPE_EXT_LIN_ADDR:
|
||||||
// если так получилось, что нам слали данные, буфер на 256 не заполнился, а тут прилетела команда смены адреса, то пишем сколько есть
|
// если так получилось, что нам слали данные, буфер на 256 не заполнился, а тут прилетела команда смены адреса, то пишем сколько есть
|
||||||
if (page_fill_size != 0)
|
if (page_fill_size != 0)
|
||||||
mem_write();
|
mem_write();
|
||||||
// собираем адрес, с которого начинаем писать из данных команды смены адреса. нам присылают только 2 старших байта адреса
|
// собираем адрес, с которого начинаем писать из данных команды смены адреса. нам присылают только 2 старших байта адреса
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user