Доработка. Добавлена команда загрузки ЭМС-Г.
This commit is contained in:
24
.gitignore
vendored
24
.gitignore
vendored
@@ -72,3 +72,27 @@ JLinkLog.txt
|
|||||||
*.mk
|
*.mk
|
||||||
*list
|
*list
|
||||||
*.cyclo
|
*.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.ui.UserLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" 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-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.gcc"/>
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<provider-reference id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" ref="shared-provider"/>
|
<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.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" 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.gcc"/>
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
</provider>
|
</provider>
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ ip_addr_t rx_addr; // Адрес с которого принят пак
|
|||||||
_Bool flag_load_ems_b0 = 0;
|
_Bool flag_load_ems_b0 = 0;
|
||||||
_Bool flag_load_ems_b1 = 0;
|
_Bool flag_load_ems_b1 = 0;
|
||||||
_Bool flag_load_kems_b = 0;
|
_Bool flag_load_kems_b = 0;
|
||||||
|
_Bool flag_load_ems_g = 0;
|
||||||
// Структуры принятого и отправленного сообщения
|
// Структуры принятого и отправленного сообщения
|
||||||
struct rcv_msg rx_msg;
|
struct rcv_msg rx_msg;
|
||||||
struct tsm_msg tx_msg;
|
struct tsm_msg tx_msg;
|
||||||
@@ -142,6 +143,7 @@ int main(void)
|
|||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
MX_LWIP_Process();
|
MX_LWIP_Process();
|
||||||
|
printf("aaa\n");
|
||||||
if (need_send_private == 1)
|
if (need_send_private == 1)
|
||||||
{
|
{
|
||||||
need_send_private = 0;
|
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,
|
void udp_echo_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p,
|
||||||
const ip_addr_t *addr, u16_t port)
|
const ip_addr_t *addr, u16_t port)
|
||||||
{
|
{
|
||||||
|
//if (disable_rcv) return;
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
if (p->tot_len < sizeof rx_msg.rx_buf)
|
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;
|
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 flash_addr = rx_msg.rx_buf[8] + (rx_msg.rx_buf[9] << 8);
|
||||||
uint16_t numofwords = (bytes_amount/4)+((bytes_amount%4)!=0);
|
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);
|
Flash_Write_Data(sector + flash_addr, (uint32_t *)&rx_msg.rx_buf[12], numofwords);
|
||||||
|
MX_LWIP_SET_ETH_UP();
|
||||||
// Установить размер буфера
|
// Установить размер буфера
|
||||||
tx_msg.cmd_len = 2;
|
tx_msg.cmd_len = 2;
|
||||||
}
|
}
|
||||||
@@ -618,9 +623,9 @@ void rcv_command(void)
|
|||||||
// Колличество записаных байт
|
// Колличество записаных байт
|
||||||
cmd_buf[2] = rx_msg.rx_buf[7];
|
cmd_buf[2] = rx_msg.rx_buf[7];
|
||||||
cmd_buf[3] = rx_msg.rx_buf[8];
|
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[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 flash_addr = rx_msg.rx_buf[8] + (rx_msg.rx_buf[9] << 8);
|
||||||
uint16_t numofwords = (bytes_amount/4)+((bytes_amount%4)!=0);
|
uint16_t numofwords = (bytes_amount/4)+((bytes_amount%4)!=0);
|
||||||
Flash_Read_Data(sector + flash_addr, (uint32_t *)&cmd_buf[7], numofwords);
|
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;
|
tx_msg.cmd_len = 6 + len_block * 2;
|
||||||
}
|
}
|
||||||
break;
|
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:
|
default:
|
||||||
{
|
{
|
||||||
//-----------------------------------------------------------
|
//-----------------------------------------------------------
|
||||||
|
|||||||
@@ -97,7 +97,9 @@ uint16_t set_status_prd(unsigned char *buf)
|
|||||||
if( ports_data != 0xFFFF )
|
if( ports_data != 0xFFFF )
|
||||||
{
|
{
|
||||||
buf[8] = set_bit(buf[8], 0, 1);
|
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);
|
ports_data = read_isa(BASE_ADDR_UG);
|
||||||
if( ports_data != 0xFFFF ) buf[8] = set_bit(buf[8], 1, 1);
|
if( ports_data != 0xFFFF ) buf[8] = set_bit(buf[8], 1, 1);
|
||||||
ports_data = read_isa(BASE_ADDR_UKP0);
|
ports_data = read_isa(BASE_ADDR_UKP0);
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ all: main-build
|
|||||||
main-build: yau-07b.elf secondary-outputs
|
main-build: yau-07b.elf secondary-outputs
|
||||||
|
|
||||||
# Tool invocations
|
# 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)
|
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"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
|
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 'Finished building target: $@'
|
||||||
@echo ' '
|
@echo ' '
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,16 @@ void MX_LWIP_Init(void)
|
|||||||
/* USER CODE END 3 */
|
/* 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
|
#ifdef USE_OBSOLETE_USER_CODE_SECTION_4
|
||||||
/* Kept to help code migration. (See new 4_1, 4_2... sections) */
|
/* Kept to help code migration. (See new 4_1, 4_2... sections) */
|
||||||
/* Avoid to use this user section which will become obsolete. */
|
/* 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
|
* - Handle timeouts if NO_SYS_NO_TIMERS not set
|
||||||
*/
|
*/
|
||||||
void MX_LWIP_Process(void);
|
void MX_LWIP_Process(void);
|
||||||
|
void MX_LWIP_SET_ETH_UP(void);
|
||||||
|
void MX_LWIP_SET_ETH_DOWN(void);
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
#endif /* WITH_RTOS */
|
#endif /* WITH_RTOS */
|
||||||
|
|||||||
@@ -295,7 +295,6 @@ static struct pbuf * low_level_input(struct netif *netif)
|
|||||||
{
|
{
|
||||||
HAL_ETH_ReadData(&heth, (void **)&p);
|
HAL_ETH_ReadData(&heth, (void **)&p);
|
||||||
}
|
}
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -411,7 +410,14 @@ err_t ethernetif_init(struct netif *netif)
|
|||||||
*/
|
*/
|
||||||
void pbuf_free_custom(struct pbuf *p)
|
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);
|
LWIP_MEMPOOL_FREE(RX_POOL, custom_pbuf);
|
||||||
|
|
||||||
/* If the Rx Buffer Pool was exhausted, signal the ethernetif_input task to
|
/* 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
|
else
|
||||||
{
|
{
|
||||||
RxAllocStatus = RX_ALLOC_ERROR;
|
RxAllocStatus = RX_ALLOC_ERROR;
|
||||||
|
pbuf_free_custom(NULL);
|
||||||
*buff = NULL;
|
*buff = NULL;
|
||||||
}
|
}
|
||||||
/* USER CODE END HAL ETH RxAllocateCallback */
|
/* USER CODE END HAL ETH RxAllocateCallback */
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ all: main-build
|
|||||||
main-build: yau-07b.elf secondary-outputs
|
main-build: yau-07b.elf secondary-outputs
|
||||||
|
|
||||||
# Tool invocations
|
# 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)
|
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"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
|
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 'Finished building target: $@'
|
||||||
@echo ' '
|
@echo ' '
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user