8 лет уже немолодой язык. Да и SDNet уже слабо развивается, если вообще сказать не сдулся. Была похожая статья: https://habr.com/ru/company/fgts/blog/460439/. В рамках FPGA NetFPGA было бы интереснее почитать.
советую брать openocd от сюда (openocd.zylin.com)
git clone openocd.zylin.com/openocd
и после собрать
./bootstrap
./configure --enable-ft2232_ftd2xx
make
sudo make install
можно так:
openocd -f interface/stlink.cfg -f target/stm8l.cfg -c «init» -c «reset init»
либо так
openocd -f interface/stlink.cfg -f target/stm8l152.cfg -c «init» -c «reset init»
1. stm32mp1 — это не микроконтроллер, а микропроцессор (https://www.st.com/en/microcontrollers-microprocessors/stm32mp1-series.html, STM32MP1 microprocessor series with dual Arm® Cortex®-A7 and Cortex®-M4 Cores)
2. «Поскольку ядро М4 работает под управлением А7, значит под управлением OpenSTLinux.» Не догма, Developers should note that OpenSTLinux Distribituion is not a specific, custom Linux distribution. Вы может использовать buildroot для сборки тоже, плюс можно там и там запускать и bare-metal и rtos.
3. Raspberry в разы мощнее чем mp1
4. «В этом кристалле у ядра М4 есть только оперативная память и код выполняется из нее (из даташита):» скорее правильно написать:
All devices feature:
• SYSRAM in MPU domain: 256 Kbytes
• SRAM1 in MCU domain: 128 Kbytes
• SRAM2 in MCU domain: 128 Kbytes
• SRAM3 in MCU domain: 64 Kbytes
• SRAM4 in MCU domain: 64 Kbytes
• RETRAM (retention RAM): 64 Kbytes
The content of this area can be retained in Standby or VBAT mode.
• BKPSRAM (backup SRAM): 4 Kbytes
The content of this area is protected against possible unwanted write accesses, and
can be retained in Standby or VBAT mode.
BKPSRAM can be defined (in ETZPC) as accessible by secure software only
там память шарится между ядрами.
Спасибо за статью, но статья содержит некоторое на мой взгляд количество неточностей:
Общая схема автоматизации промышленного объекта не имеет отображение исполнительных механизмов, странно так же изображать модуль cpu и писать что это микроконтроллер, в промышленной автоматики на структурных схемах и не только показывают, что модуль cpu, и чаще всего он в одной стойки и имеет общую шину туже что и модули AI/AO/DI/DO, если схема распределенная тогда возможно. Сам модуль cpu может быть как soc, как микроконтроллер, как микропроцессор так и fpga, так же я бы добавил специализированные модули, интерфейсные модули и т. п в общую схему автоматизации промышленного объекта. Странно что в статье нет упоминания scada систем, т. к. за hmi панель точно никто целый день не стоит, и это не предоставляет не удобств, конечно если у вас не ЧПУ тогда все возможно, но все сложные производства управляются через scada системы. «Качество и размер изображения на малоформатных панелях оставляет желать лучшего» достаточно высокого качества изображение возьмите например панели waintek или siemens hmi панели и других производителей. UART не использует такие как он есть, используют rs232 и rs485, внутри да конечно uart. Странно что в статье Modbus и HART старые протоколы а, вот ethernet то нет, хотя ethernet тоже достаточно старый протокол. «Второе поколение протоколов или не совсем промышленные шины ISA, PCI(e) и VME» не вписывается в вашу концепцию описания «Общая схема автоматизации промышленного объекта», либо я что-то не да понял.
Далее полевые устройства: датчик и исполнительные механизмы, в свою очередь так же имеют уже давно интеллектуальные интерфейсы для передачи данных пусть то (profinet, profibus или т. п.). Так же есть множество компаний который выпускают пром автоматику, где модули di/do/ai/ao и cpu соединены между собой не общей шинной, а посредством ethernet, modbus rtu или modbus tcp/ip. Да и де факто siemens, abb мировые лидеры пром автоматики, поэтому эти компании диктуют условия развития пром сетей и промышленного оборудования. EtherCAT разработан компанией Beckhoff. Beckhoff в первую очередь делали данный протокол под свои ПЛК, и почему в статье нет термина ПЛК(PLC), pac и т. п.?
я думаю если компания делала данный проект на bare metal или rtos, то они бы делали бы еще) (а bare metal в данной реализации вообще пагубное дело), плюс мне кажется у них был жесткая необходимость в работе с файловыми системами, а если это микроконтроллеры выбор не большой, чтобы не передумывать велосипеды полностью поддерживаю реализацию promwad. Плюс судя по статье у них очень много логики заточено на ethernet, поэтому делать на lwip это можно, но за чем, плюс автор пишет система должна быть масштабируемой, на linux это делать гораздо проще, так как по описанию у них явно много поточное приложение. Спасибо за статью.
все такие опубликовали мой комент) и подготовились), правда в том, что люди которые дойдут до красивой отладки изучать почти весь freetos, я думаю многие для это используют статьи Курниц А. для изучения freertos, там отладка одна из последних статей, еще в защищу Tracealyzer уже давно для него не нужен только st-link и j-link, вот ссылка percepio.com/docs, и вот поддерживаемые интерфейсы через которые можно получать всю информацию для freertos:
File/
Jlink_RTT/
TCPIP/
TCPIP_Win32/
USB_CDC/
так же Tracealyzer поддерживает не только freertos, а так же embos, threadxm vxworks и др., поэтому инструмент перспективнее, портирование так же много времени не занимает, подключение легче, чем корректная настройка config для freertos :) и я уверен, что emmbedder в будущем перейдет на новую rtos, и что ему делать тогда? лучше способ это Tracealyzer :) посмотрите насколько он прекрасен, а получить можно его бесплатно) youtu.be/mt0CSvLI5Ho
Статья хорошая, но уже неактуальная, лет 5 назад зашла бы статья, но сейчас, есть хорошие инструменты такие как tracealyzer от percepio, где столько возможностей… что на примере данной отладки многопоточности, все это кажется древностью )
8 лет уже немолодой язык. Да и SDNet уже слабо развивается, если вообще сказать не сдулся. Была похожая статья: https://habr.com/ru/company/fgts/blog/460439/. В рамках FPGA NetFPGA было бы интереснее почитать.
git clone openocd.zylin.com/openocd
и после собрать
./bootstrap
./configure --enable-ft2232_ftd2xx
make
sudo make install
можно так:
openocd -f interface/stlink.cfg -f target/stm8l.cfg -c «init» -c «reset init»
либо так
openocd -f interface/stlink.cfg -f target/stm8l152.cfg -c «init» -c «reset init»
2. «Поскольку ядро М4 работает под управлением А7, значит под управлением OpenSTLinux.» Не догма, Developers should note that OpenSTLinux Distribituion is not a specific, custom Linux distribution. Вы может использовать buildroot для сборки тоже, плюс можно там и там запускать и bare-metal и rtos.
3. Raspberry в разы мощнее чем mp1
4. «В этом кристалле у ядра М4 есть только оперативная память и код выполняется из нее (из даташита):» скорее правильно написать:
All devices feature:
• SYSRAM in MPU domain: 256 Kbytes
• SRAM1 in MCU domain: 128 Kbytes
• SRAM2 in MCU domain: 128 Kbytes
• SRAM3 in MCU domain: 64 Kbytes
• SRAM4 in MCU domain: 64 Kbytes
• RETRAM (retention RAM): 64 Kbytes
The content of this area can be retained in Standby or VBAT mode.
• BKPSRAM (backup SRAM): 4 Kbytes
The content of this area is protected against possible unwanted write accesses, and
can be retained in Standby or VBAT mode.
BKPSRAM can be defined (in ETZPC) as accessible by secure software only
там память шарится между ядрами.
Круто, как всегда! Респект.
Молодцы ребята, респект Вам
Общая схема автоматизации промышленного объекта не имеет отображение исполнительных механизмов, странно так же изображать модуль cpu и писать что это микроконтроллер, в промышленной автоматики на структурных схемах и не только показывают, что модуль cpu, и чаще всего он в одной стойки и имеет общую шину туже что и модули AI/AO/DI/DO, если схема распределенная тогда возможно. Сам модуль cpu может быть как soc, как микроконтроллер, как микропроцессор так и fpga, так же я бы добавил специализированные модули, интерфейсные модули и т. п в общую схему автоматизации промышленного объекта. Странно что в статье нет упоминания scada систем, т. к. за hmi панель точно никто целый день не стоит, и это не предоставляет не удобств, конечно если у вас не ЧПУ тогда все возможно, но все сложные производства управляются через scada системы. «Качество и размер изображения на малоформатных панелях оставляет желать лучшего» достаточно высокого качества изображение возьмите например панели waintek или siemens hmi панели и других производителей. UART не использует такие как он есть, используют rs232 и rs485, внутри да конечно uart. Странно что в статье Modbus и HART старые протоколы а, вот ethernet то нет, хотя ethernet тоже достаточно старый протокол. «Второе поколение протоколов или не совсем промышленные шины ISA, PCI(e) и VME» не вписывается в вашу концепцию описания «Общая схема автоматизации промышленного объекта», либо я что-то не да понял.
Далее полевые устройства: датчик и исполнительные механизмы, в свою очередь так же имеют уже давно интеллектуальные интерфейсы для передачи данных пусть то (profinet, profibus или т. п.). Так же есть множество компаний который выпускают пром автоматику, где модули di/do/ai/ao и cpu соединены между собой не общей шинной, а посредством ethernet, modbus rtu или modbus tcp/ip. Да и де факто siemens, abb мировые лидеры пром автоматики, поэтому эти компании диктуют условия развития пром сетей и промышленного оборудования. EtherCAT разработан компанией Beckhoff. Beckhoff в первую очередь делали данный протокол под свои ПЛК, и почему в статье нет термина ПЛК(PLC), pac и т. п.?
File/
Jlink_RTT/
TCPIP/
TCPIP_Win32/
USB_CDC/
так же Tracealyzer поддерживает не только freertos, а так же embos, threadxm vxworks и др., поэтому инструмент перспективнее, портирование так же много времени не занимает, подключение легче, чем корректная настройка config для freertos :) и я уверен, что emmbedder в будущем перейдет на новую rtos, и что ему делать тогда? лучше способ это Tracealyzer :) посмотрите насколько он прекрасен, а получить можно его бесплатно)
youtu.be/mt0CSvLI5Ho