Доработка. Добавлена команда загрузки ЭМС-Г.
This commit is contained in:
24
.gitignore
vendored
24
.gitignore
vendored
@@ -72,3 +72,27 @@ JLinkLog.txt
|
||||
*.mk
|
||||
*list
|
||||
*.cyclo
|
||||
/yau-07b-cppcheck-build-dir/files.txt
|
||||
/yau-07b-cppcheck-build-dir/system_stm32f4xx.c.snalyzerinfo
|
||||
/yau-07b-cppcheck-build-dir/FLASH_SECTOR_F4.a1
|
||||
/yau-07b-cppcheck-build-dir/FLASH_SECTOR_F4.c.snalyzerinfo
|
||||
/yau-07b-cppcheck-build-dir/FLASH_SECTOR_F4.s1
|
||||
/yau-07b-cppcheck-build-dir/FLASH_SECTOR_F4.s2
|
||||
/yau-07b-cppcheck-build-dir/lastResults.xml
|
||||
/yau-07b-cppcheck-build-dir/main.a1
|
||||
/yau-07b-cppcheck-build-dir/main.s1
|
||||
/yau-07b-cppcheck-build-dir/pribors.a1
|
||||
/yau-07b-cppcheck-build-dir/pribors.s1
|
||||
/yau-07b-cppcheck-build-dir/statistics.txt
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_hal_msp.a1
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_hal_msp.c.snalyzerinfo
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_hal_msp.s1
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_hal_msp.s2
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_it.a1
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_it.c.snalyzerinfo
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_it.s1
|
||||
/yau-07b-cppcheck-build-dir/stm32f4xx_it.s2
|
||||
/yau-07b-cppcheck-build-dir/system_stm32f4xx.a1
|
||||
/yau-07b-cppcheck-build-dir/system_stm32f4xx.s1
|
||||
/yau-07b-cppcheck-build-dir/system_stm32f4xx.s2
|
||||
/yau-07b.cppcheck
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<provider-reference id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1023272946027205591" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1030508669417260961" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
@@ -16,7 +16,7 @@
|
||||
<provider-reference id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1017302817559438481" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1024542668413065307" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
|
||||
@@ -60,6 +60,7 @@ ip_addr_t rx_addr; // Адрес с которого принят пак
|
||||
_Bool flag_load_ems_b0 = 0;
|
||||
_Bool flag_load_ems_b1 = 0;
|
||||
_Bool flag_load_kems_b = 0;
|
||||
_Bool flag_load_ems_g = 0;
|
||||
// Структуры принятого и отправленного сообщения
|
||||
struct rcv_msg rx_msg;
|
||||
struct tsm_msg tx_msg;
|
||||
@@ -142,6 +143,7 @@ int main(void)
|
||||
while (1)
|
||||
{
|
||||
MX_LWIP_Process();
|
||||
printf("aaa\n");
|
||||
if (need_send_private == 1)
|
||||
{
|
||||
need_send_private = 0;
|
||||
@@ -410,6 +412,7 @@ void sock_init(struct udp_pcb * pcb)
|
||||
void udp_echo_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p,
|
||||
const ip_addr_t *addr, u16_t port)
|
||||
{
|
||||
//if (disable_rcv) return;
|
||||
if (p != NULL) {
|
||||
if (p->tot_len < sizeof rx_msg.rx_buf)
|
||||
{
|
||||
@@ -581,7 +584,9 @@ void rcv_command(void)
|
||||
if (flash_sector == 2) sector = FLASH_BASE_EMS_B1;
|
||||
uint16_t flash_addr = rx_msg.rx_buf[8] + (rx_msg.rx_buf[9] << 8);
|
||||
uint16_t numofwords = (bytes_amount/4)+((bytes_amount%4)!=0);
|
||||
MX_LWIP_SET_ETH_DOWN();
|
||||
Flash_Write_Data(sector + flash_addr, (uint32_t *)&rx_msg.rx_buf[12], numofwords);
|
||||
MX_LWIP_SET_ETH_UP();
|
||||
// Установить размер буфера
|
||||
tx_msg.cmd_len = 2;
|
||||
}
|
||||
@@ -618,9 +623,9 @@ void rcv_command(void)
|
||||
// Колличество записаных байт
|
||||
cmd_buf[2] = rx_msg.rx_buf[7];
|
||||
cmd_buf[3] = rx_msg.rx_buf[8];
|
||||
cmd_buf[4] = rx_msg.rx_buf[9] << 8;
|
||||
cmd_buf[4] = rx_msg.rx_buf[9];
|
||||
cmd_buf[5] = rx_msg.rx_buf[10];
|
||||
cmd_buf[6] = rx_msg.rx_buf[11] << 8;
|
||||
cmd_buf[6] = rx_msg.rx_buf[11];
|
||||
uint16_t flash_addr = rx_msg.rx_buf[8] + (rx_msg.rx_buf[9] << 8);
|
||||
uint16_t numofwords = (bytes_amount/4)+((bytes_amount%4)!=0);
|
||||
Flash_Read_Data(sector + flash_addr, (uint32_t *)&cmd_buf[7], numofwords);
|
||||
@@ -717,6 +722,35 @@ void rcv_command(void)
|
||||
tx_msg.cmd_len = 6 + len_block * 2;
|
||||
}
|
||||
break;
|
||||
case 70:
|
||||
//-----------------------------------------------------------
|
||||
// КОМАНДА №70
|
||||
// КОМАНДА ЗАПИСИ ФЛАГА О ОКОНЧАНИИ ЗАГРУЗКИ ЭМС-Г
|
||||
//-----------------------------------------------------------
|
||||
|
||||
cmd_buf[0] = rx_msg.cmd_code; // - код команды
|
||||
|
||||
// Проверка размера принятого буфера
|
||||
if( rx_msg.length < (7))
|
||||
{
|
||||
// Размер принятого пакета меньше чем долно быть
|
||||
// Установить ошибку
|
||||
// КОД = 2
|
||||
cmd_buf[1] = ERR_SIZE;
|
||||
|
||||
// Установить размер буфера = 2
|
||||
tx_msg.cmd_len = 2;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// Установить ВЫПОЛНЕНО
|
||||
cmd_buf[1] = NO_ERROR;
|
||||
flag_load_ems_g = 1;
|
||||
// Установить размер буфера
|
||||
tx_msg.cmd_len = 2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
|
||||
@@ -97,7 +97,9 @@ uint16_t set_status_prd(unsigned char *buf)
|
||||
if( ports_data != 0xFFFF )
|
||||
{
|
||||
buf[8] = set_bit(buf[8], 0, 1);
|
||||
buf[8] = set_bit(buf[8], 4, flag_load_ems_g);
|
||||
}
|
||||
else flag_load_ems_g = 0;
|
||||
ports_data = read_isa(BASE_ADDR_UG);
|
||||
if( ports_data != 0xFFFF ) buf[8] = set_bit(buf[8], 1, 1);
|
||||
ports_data = read_isa(BASE_ADDR_UKP0);
|
||||
|
||||
@@ -70,8 +70,8 @@ all: main-build
|
||||
main-build: yau-07b.elf secondary-outputs
|
||||
|
||||
# Tool invocations
|
||||
yau-07b.elf yau-07b.map: $(OBJS) $(USER_OBJS) C:\Maxim_Git\Yau-07B\STM32F429ZITX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-gcc -o "yau-07b.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"C:\Maxim_Git\Yau-07B\STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="yau-07b.map" -Wl,--gc-sections -static -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
yau-07b.elf yau-07b.map: $(OBJS) $(USER_OBJS) D:\Work\CubeMX\ Projects\yau-07b\STM32F429ZITX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-gcc -o "yau-07b.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"D:\Work\CubeMX Projects\yau-07b\STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="yau-07b.map" -Wl,--gc-sections -static -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
@echo 'Finished building target: $@'
|
||||
@echo ' '
|
||||
|
||||
|
||||
@@ -97,6 +97,16 @@ void MX_LWIP_Init(void)
|
||||
/* USER CODE END 3 */
|
||||
}
|
||||
|
||||
void MX_LWIP_SET_ETH_DOWN (void)
|
||||
{
|
||||
netif_set_down(&gnetif);
|
||||
}
|
||||
|
||||
void MX_LWIP_SET_ETH_UP (void)
|
||||
{
|
||||
netif_set_up(&gnetif);
|
||||
}
|
||||
|
||||
#ifdef USE_OBSOLETE_USER_CODE_SECTION_4
|
||||
/* Kept to help code migration. (See new 4_1, 4_2... sections) */
|
||||
/* Avoid to use this user section which will become obsolete. */
|
||||
|
||||
@@ -58,6 +58,8 @@ void MX_LWIP_Init(void);
|
||||
* - Handle timeouts if NO_SYS_NO_TIMERS not set
|
||||
*/
|
||||
void MX_LWIP_Process(void);
|
||||
void MX_LWIP_SET_ETH_UP(void);
|
||||
void MX_LWIP_SET_ETH_DOWN(void);
|
||||
|
||||
/* USER CODE END 1 */
|
||||
#endif /* WITH_RTOS */
|
||||
|
||||
@@ -295,7 +295,6 @@ static struct pbuf * low_level_input(struct netif *netif)
|
||||
{
|
||||
HAL_ETH_ReadData(&heth, (void **)&p);
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -411,7 +410,14 @@ err_t ethernetif_init(struct netif *netif)
|
||||
*/
|
||||
void pbuf_free_custom(struct pbuf *p)
|
||||
{
|
||||
struct pbuf_custom* custom_pbuf = (struct pbuf_custom*)p;
|
||||
static struct pbuf *spp;
|
||||
if (p)
|
||||
{
|
||||
spp = p;
|
||||
}
|
||||
|
||||
if (!spp) return;
|
||||
struct pbuf_custom* custom_pbuf = (struct pbuf_custom*)spp;
|
||||
LWIP_MEMPOOL_FREE(RX_POOL, custom_pbuf);
|
||||
|
||||
/* If the Rx Buffer Pool was exhausted, signal the ethernetif_input task to
|
||||
@@ -690,6 +696,7 @@ void HAL_ETH_RxAllocateCallback(uint8_t **buff)
|
||||
else
|
||||
{
|
||||
RxAllocStatus = RX_ALLOC_ERROR;
|
||||
pbuf_free_custom(NULL);
|
||||
*buff = NULL;
|
||||
}
|
||||
/* USER CODE END HAL ETH RxAllocateCallback */
|
||||
|
||||
@@ -70,8 +70,8 @@ all: main-build
|
||||
main-build: yau-07b.elf secondary-outputs
|
||||
|
||||
# Tool invocations
|
||||
yau-07b.elf yau-07b.map: $(OBJS) $(USER_OBJS) C:\Maxim_Git\Yau-07B\STM32F429ZITX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-gcc -o "yau-07b.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"C:\Maxim_Git\Yau-07B\STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="yau-07b.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
yau-07b.elf yau-07b.map: $(OBJS) $(USER_OBJS) D:\Work\CubeMX\ Projects\yau-07b\STM32F429ZITX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
|
||||
arm-none-eabi-gcc -o "yau-07b.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"D:\Work\CubeMX Projects\yau-07b\STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="yau-07b.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
|
||||
@echo 'Finished building target: $@'
|
||||
@echo ' '
|
||||
|
||||
|
||||
Reference in New Issue
Block a user