《安富莱嵌入式周报》第326期:航空航天级CANopen协议栈,开源USB PD电源和功耗分析,开源EtherCAT伺服驱动板,时序绘制软件,现代机器人设计

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

更新一期视频教程:

BSP视频教程第28期:CANopen协议栈专题,CANopen主从机组网实战,CAN词典工具使用方法以及吃透PDO玩法
BSP视频教程第28期:CANopen协议栈专题,CANopen主从机组网实战,CAN词典工具使用方法以及吃透PDO玩法(2023-11-01) - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!


视频版:

https://www.bilibili.com/video/BV1H84y1Q717/

《安富莱嵌入式周报》第326期:航空航天级CANopen协议栈,开源USB PD电源和功耗分析,开源EtherCAT伺服驱动板,时序绘制软件,现代机器人设计



1、航空航天级CANopen协议栈

CANopen · GitLab
CANopen

  lely-core-ecss.zip (1.41 MB)
  test-environment-master.zip (494.18 KB)
  test-suite-master.zip (815.63 KB)

由于高质量,安全可靠组件需求,ECSS((European Cooperation for Space Standardization,欧洲空间标准化合作组织)创建了一个适用用于航天器的CANopen版本( ECSS-E-ST-50-15C)

测试在航天级M7内核芯片ATSAMV71-XULT上的SAMV7上执行。ECCS B级预认证 CANopen 库,用太空环境。

当前提供的两个测试版

当前是在开源免费CANopen协议栈lely基础上开发的。


2、开源USB PD电源和功耗分析Spark Analyzer

GitHub - tooyipjee/Spark-Analyzer: USB-PD ESP32 Power Analyzer

  Spark-Analyzer-master.zip (21.9 MB)

Spark Analyzer 与 USB-PD完全兼容,  精确控制电压电平,  可切换至 5V、9V、15V 和 20V.  精确测量项目的电流消耗

负载性能测试:

9V3A负载测试:

20V1.5A负载测试:

手机APP

板子效果:


3、资讯

(1)英飞凌推出WiFi6,蓝牙5.4二合一芯片 CYW55513

CYW5551 - Infineon Technologies

之前树莓派单片机上用是这个系列的CYW43439,这次推出升级版

(2)乐鑫支持 Matter 1.2 标准和新家电设备类型

乐鑫率先支持 Matter 1.2 标准和新家电设备类型 | 乐鑫科技

Matter 是开源的连接标准,旨在简化并增强智能设备与应用程序的开发。它为全球智能家居设备制定了统一规范,从而确保各种产品之间能够进行安全、可靠、无缝的通信,同时具有良好的互操作性。最新发布的 Matter 1.2 规范增加了对九种新设备类型的支持,包括:

洗衣机
冰箱
洗碗机
房间空调
扫地机器人
空气质量传感器
空气净化器
烟雾和一氧化碳警报器
风扇

(3)ARM收购部分树莓派股权

Raspberry Pi Receives Strategic Investment from Arm, Further Extending Long-Term Partnership - Arm Newsroom

(4)ADI公司的Module(微型模块)稳压器和DC-DC电源产品是完整的系统级封装 (SiP)电源管理解决方案

µModule稳压器 | 亚德诺(ADI)半导体

在紧凑的表面贴装LGA封装中集成了DC-DC控制器、功率晶体管、输入和输出电容、补偿组件以及电感。Module 电源产品支持降压、降压-升压、电池充电器、隔离式转换器和LED驱动器等功能。Module电源产品是高度集成的解决方案,每个器件都可提供PCB Gerber文件,在满足时间和空间限制的同时,具有高效率、高可靠性。一些产品还提供符合EN 55022 B类标准的低EMI解决方案。

umodulepowerproducts_cn.pdf (32.69MB)

(5)Arduino为其H7核心板设计的底板

Tip your hat hello to our latest expansion: Introducing the Portenta Hat Carrier! | Arduino Blog

大家看看有没有值得借鉴的

  ASX00049-schematics.pdf (11.4 MB)

(6)CMSIS软件包V6.0持续迭代,为正式版发布做准备,支持的列表已经不再包含AC5

Releases · ARM-software/CMSIS_6 · GitHub

(7)瑞萨Cortex-M85内核单片机RA8系列正式上线发布

RA8M1 - 基于 480 MHz Arm® Cortex®-M85、搭载 Helium 和 TrustZone® 的微控制器 | Renesas


4、开源跨平台波形时序绘制软件wavedrom,可以在线使用,也可以离线使用

WaveDrom - Digital timing diagram everywhere
Releases · wavedrom/wavedrom.github.io · GitHub

采用json方式编辑,输出SVG矢量格式图片:

大量效果展示:

WaveDrom / Aliaksei Chapyzhenka | Observable


5、基于霍尔传感器的自行车测速

https://github.com/astrosander/arduino-speedometer

这个方案比较容易实现,这里给大家分享,主要是作者做了一个动图,比较拉风

 arduino-speedometer-main.zip (17.13 MB)


6、现代机器人设计课程

https://github.com/madibabaiasl/modern-robotics-I-course/wiki

课程内容安排的比较好,大家有兴趣可以看看

每期内容图文并茂


7、开源EtherCAT伺服驱动板设计

大部分EtherCAT协议用于伺服都是采用的CANopen over EtherCAT CiA402

GitHub - kubabuda/ecat_servo: Open EtherCAT CiA402 servo drive implementation
EtherCAT servodrive | Hackaday.io

ecat_servo-main.zip (41.21MB)

从站芯片使用的AX58100或者LAN9252


8、ThreadX全家桶迎来年末最后一个大更版本6.3.0

全家桶软件包下载:

ThreadX全家桶源码和文档下载,含GUIX,Filex,NetX,USBX,GUIX Studio,TraceX等,全部升级至V6.3.0(2023-11-01) - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

内核微更:

ThreadX NetXDUO升级至V6.3.0,增加实时传输RTP,RTCP和RTSP支持

Files are added to support new protocols: Real Time Transport Protocol (RTP), RTP Control Protocol (RTCP), and Real Time Streaming Protocol (RTSP)
      addons/rtp/nx_rtp_sender.c
      addons/rtp/nx_rtp_sender.h
      addons/rtsp/nx_rtsp_server.c
      addons/rtsp/nx_rtsp_server.h
  
  Files are modified to improve the internal logic for finding a free port:
      common/src/nx_tcp_free_port_find.c
      common/src/nx_udp_free_port_find.c
  
  Files are modified to improve packet length or buffer length verification:
      common/inc/nx_icmpv6.h
      common/src/nx_icmpv6_packet_process.c
      common/src/nx_icmpv6_process_na.c
      common/src/nx_icmpv6_process_ns.c
      common/src/nx_icmpv6_process_packet_too_big.c
      common/src/nx_icmpv6_process_redirect.c
      common/src/nx_icmpv6_process_ra.c
  
  Files are modified to support random IP id:
      common/inc/nx_api.h
      common/inc/nx_user_sample.h
      common/src/nx_ip_create.c
      common/src/nx_ip_header_add.c
      common/src/nx_ipv6_fragment_process.c
  
  Files are modified to fix typo in the comments:
      crypto_libraries/src/nx_crypto_3des.c
      crypto_libraries/src/nx_crypto_aes.c
      crypto_libraries/src/nx_crypto_des.c
      crypto_libraries/src/nx_crypto_drbg.c
      crypto_libraries/src/nx_crypto_ecdh.c
      crypto_libraries/src/nx_crypto_ecdsa.c
      crypto_libraries/src/nx_crypto_ecjpake.c
      crypto_libraries/src/nx_crypto_hkdf.c
      crypto_libraries/src/nx_crypto_hmac.c
      crypto_libraries/src/nx_crypto_hmac_md5.c
      crypto_libraries/src/nx_crypto_hmac_sha1.c
      crypto_libraries/src/nx_crypto_hmac_sha2.c
      crypto_libraries/src/nx_crypto_hmac_sha5.c
      crypto_libraries/src/nx_crypto_md5.c
      crypto_libraries/src/nx_crypto_pkcs1_v1.5.c
      crypto_libraries/src/nx_crypto_rsa.c
      crypto_libraries/src/nx_crypto_sha1.c
      crypto_libraries/src/nx_crypto_sha2.c
      crypto_libraries/src/nx_crypto_sha5.c
      crypto_libraries/src/nx_crypto_tls_prf_1.c
      crypto_libraries/src/nx_crypto_tls_prf_sha256.c
      crypto_libraries/src/nx_crypto_tls_prf_sha384.c
      crypto_libraries/src/nx_crypto_tls_prf_sha512.c
  
  File is modified to fix packet buffer overrun:
      nx_secure/src/nx_secure_tls_send_certificate.c
  
  File is modified to check length before sending:
      nx_secure/src/nxe_secure_tls_session_send.c
  
  File is modified to fix the logic of handling close notify packet from peer:
      nx_secure/src/nx_secure_dtls_session_end.c
  
  Files are modified to avoid duplicate packet release when DTLS send fails:
      nx_secure/src/nx_secure_dtls_send_record.c
      nx_secure/src/nx_secure_dtls_server_handshake.c
      nx_secure/src/nx_secure_dtls_session_receive.c
  
  Files are modified for Azure IoT:
      nx_azure_iot*                                      Corrected the include order for IoT security module.
                                                         Added error state in notification callback to let user application have the chance to retry new update for Azure Device Update.
                                                         Reported the result of each step for Azure Device Update.
                                                         Improved the code to ignore null file url for Azure Device Update.
                                                         Added the PnP check for Azure Device Update.
                                                         Added sha256 in driver preprocess command for Azure Device Update.
                                                         Fixed multiple proxy update issue for Azure Device Update.
                                                         Added support for skipping failed step/update for Azure Device Update.
                                                         Corrected the packet allocation for MQTT over WebSocket.
  Other modified files:
      common/src/nx_ipv4_packet_receive.c                Validated packet length for fragments. Make sure length of packet with more bit flag is multiple of 8.
      common/src/nx_igmp_packet_process.c                Unified checksum calculation by function call.
      common/src/nx_tcp_packet_process.c                 Validated TCP header buffer to avoid span in multiple packets.
      common/src/nx_tcp_socket_state_data_check.c        Corrected the acked packet count.
  
      addons/bsd/nxd_bsd.h                               Added options to disable OS BSD APIs overriding.
      addons/bsd/nxd_bsd.c                               Support random IP id.
                                                         Used new APIs/structs naming.
  
      addons/dhcp/nxd_dhcp_client.c                      Support random IP id.
                                                         Corrected caller checking for the function _nxe_dhcp_state_change_notify.
      addons/dhcp/nxd_dhcp_server.c                      Fixed local variable type issue for the function _nx_dhcp_server_extract_information under strict aliasing compiling option.
                                                         Corrected the logic of verifying the incoming packet length.
      addons/dhcp/nxd_dhcpv6_server.c                    Fixed server not update client record issue when continuous CONFIRM message received.
                                                         Corrected server for ignoring both preferred-lifetime and valid-lifetime in client request message(s).
  
      addons/dns/nxd_dns.c                               Reset the receive status for mismatch ID to avoid processing and releasing null packet.
  
      addons/ftp/nxd_ftp_client.c                        Corrected the length of packet buffer to avoid write overflow.
                                                         Fixed packet double release issue in _nx_ftp_client_file_write.
      addons/ftp/nxd_ftp_server.c                        Set packet pointer to NULL after released to fix duplicate packet release issue.
                                                         Avoided duplicate creation for data socket when previous command is not finished.
                                                         Fixed data length underflow when TCP MSS is less than 255.
                                                         Removed deletion of control socket in stop API which is only needed in delete API.
  
      addons/mdns/nxd_mdns.h                             Corrected mDNS symbols check for NX_MDNS_ENABLE_IPV6.
  
      addons/mqtt/nxd_mqtt_client.c                      Improved internal logic for MQTT packet allocation.
  
      addons/nat/nx_nat.c                                Fixed packet double release issue in _nx_nat_process_packet.
  
      addons/ppp/nx_ppp.c                                Supported processing compressed data.
      addons/ppp/nx_ppp.h                                Supported processing compressed data.
  
      addons/smtp/nxd_smtp_client.c                      Set nx_smtp_server_packet to NULL to avoided duplicate packet release in _nx_smtp_utility_read_server_code.
  
      addons/snmp/nxd_snmp_.c                            Combined the functions of processing snmp v1 and v2.
                                                         Improved packet length or buffer length verification.
                                                         Fixed packet double release issue.
      addons/snmp/nxd_snmp_.h                            Combined the functions of processing snmp v1 and v2.
  
      addons/sntp/nxd_sntp_client.c                      Dropped packet chain for SNTP data to avoid write overflow.

ThreadX USBX升级至V6.3.0, 大量支持zero copy和性能提升

Improved host UVC format and frame data checking, files modified:
    ux_host_class_video.h
    ux_host_class_video_format_data_get.c
    ux_host_class_video_frame_data_get.c
    ux_host_class_video_frame_parameters_set.c
  
Fixed use after free issues, files modified:
    ux_host_class_hub_entry.c
    ux_hcd_ehci_isochronous_endpoint_create.c
  
Improved device enumeration transfer flow in standalone mode, file modified:
    ux_host_stack_tasks_run.c
  
Turned off in standalone build, file modified:
    ux_host_class_asix_activate.c
  
Improved host hub deactivating flow, file modified:
    ux_host_class_hub_deactivate.c
  
Added error traps, file modified:
    ux_utility_memory_free.c
  
Improved host HID clients deactivation sequence, files modified:
    ux_host_class_hid_keyboard_deactivate.c
    ux_host_class_hid_mouse_deactivate.c
    ux_host_class_hid_remote_control_deactivate.c
  
Improved standalone host CDC ACM control/data group management, files modified:
    ux_host_class_cdc_acm_activate.c
    ux_host_class_cdc_acm_deactivate.c
    ux_host_class_cdc_acm_entry.c
  
Removed unused semaphore in host PIMA, file modified:
    ux_host_class_pima_deactivate.c
  
Improved PIMA host/device optional interrupt endpoint management, files modified:
    ux_device_class_pima_activate.c
    ux_device_class_pima_deactivate.c
    ux_device_class_pima_event_set.c
    ux_device_class_pima_interrupt_thread.c
    ux_host_class_pima_deactivate.c
  
Removed interface link in device linked classes, modified files:
    ux_host_class_asix_configure.c
    ux_host_class_gser_activate.c
    ux_host_class_gser_configure.c
    ux_host_class_prolific_configure.c
    ux_host_class_swar_configure.c
  
Moved host storage class/subclass/protocol checking and endpoints getting into _activate, files modified:
    ux_host_class_storage_activate.c
    ux_host_class_storage_device_initialize.c
  
Improved host class endpoints get/checking, files modified:
    ux_host_class_cdc_acm_endpoints_get.c
    ux_host_class_cdc_ecm_endpoints_get.c
    ux_host_class_storage_endpoints_get.c
  
Improved host audio descriptors check, AC AS management and error handling, files modified:
    ux_host_class_audio.h
    ux_host_class_audio_activate.c
    ux_host_class_audio_deactivate.c
    ux_host_class_audio_device_type_get.c
  
Checked XML tag nesting depth in Pictbridge object parsing, file modified:
    ux_pictbridge_object_parse.c
  
Limited output array size for pictbridge element to hexa convert, file modified:
    ux_pictbridge_array_element_to_array_hexa.c
  
Rejected CDC-DATA interface not next to its control interface:
    ux_host_class_cdc_ecm_activate.c
  
Fixed host HID field managing issue, file modified:
    ux_host_class_hid_report_add.c
  
Improved host HID usage handling, files modified:
    ux_host_class_hid_field_decompress.c
    ux_host_class_hid_report_add.c
  
Fixed some EHCI split transfer issues, files modified:
    ux_hcd_ehci_interrupt_endpoint_create.c
    ux_hcd_ehci_isochronous_endpoint_create.c
  
Checked received ethernet packet length before processing it, file modified:
    ux_network_driver.c
  
Refined memory management to reduce overhead, files modified:
    ux_api.h
    ux_user_sample.h
    ux_utility.h
  
    ux_system_initialize.c
    ux_utility_memory_allocate.c
    ux_utility_memory_byte_pool_create.c
    ux_utility_memory_byte_pool_search.c
    ux_utility_memory_free_block_best_get.c
    ux_utility_memory_free.c
    ux_hcd_sim_host_initialize.c
    ux_hcd_sim_host_uninitialize.c
  
Added zero copy option to device RNDIS, files modified:
    ux_user_sample.h
    ux_device_class_rndis.h
    ux_device_class_rndis_activate.c
    ux_device_class_rndis_bulkin_thread.c
    ux_device_class_rndis_bulkout_thread.c
  
Added zero copy option to device CDC_ECM, files modified:
    ux_user_sample.h
    ux_device_class_cdc_ecm.h
    ux_device_class_cdc_ecm_activate.c
    ux_device_class_cdc_ecm_bulkin_thread.c
    ux_device_class_cdc_ecm_bulkout_thread.c
    ux_device_class_cdc_ecm_change.c
  
Enabled zero copy when device class video (UVC) owns endpoint buffer, files modified:
    ux_device_class_video.h
    ux_device_class_video_change.c
    ux_device_class_video_initialize.c
    ux_device_class_video_read_task_function.c
    ux_device_class_video_read_thread_entry.c
    ux_device_class_video_uninitialize.c
    ux_device_class_video_write_task_function.c
    ux_device_class_video_write_thread_entry.c
  
Enabled zero copy when device class audio (UAC) owns endpoint buffer, files modified:
    ux_device_class_audio.h
    ux_device_class_audio_activate.c
    ux_device_class_audio_change.c
    ux_device_class_audio_initialize.c
    ux_device_class_audio_interrupt_task_function.c
    ux_device_class_audio_read_task_function.c
    ux_device_class_audio_read_thread_entry.c
    ux_device_class_audio_unitialize.c
    ux_device_class_audio_write_task_function.c
    ux_device_class_audio_write_thread_entry.c
  
Added device class HID zero copy and flexible queue support, files modified:
    ux_user_sample.h
    ux_device_class_hid.h
    ux_device_class_hid_activate.c
    ux_device_class_hid_event_get.c
    ux_device_class_hid_event_set.c
    ux_device_class_hid_initialize.c
    ux_device_class_hid_interrupt_thread.c
    ux_device_class_hid_read.c
    ux_device_class_hid_read_run.c
    ux_device_class_hid_receiver_event_free.c
    ux_device_class_hid_receiver_event_get.c
    ux_device_class_hid_receiver_initialize.c
    ux_device_class_hid_receiver_tasks_run.c
    ux_device_class_hid_receiver_thread.c
    ux_device_class_hid_receiver_uninitialize.c
    ux_device_class_hid_tasks_run.c
    ux_device_class_hid_uninitialize.c
  
Added device class CDC ACM zero copy support, files modified:
    ux_user_sample.h
    ux_device_class_cdc_acm.h
    ux_device_class_cdc_acm_bulkin_thread.c
    ux_device_class_cdc_acm_initialize.c
    ux_device_class_cdc_acm_read.c
    ux_device_class_cdc_acm_read_run.c
    ux_device_class_cdc_acm_tasks_run.c
    ux_device_class_cdc_acm_unitialize.c
    ux_device_class_cdc_acm_write.c
    ux_device_class_cdc_acm_write_run.c
    ux_device_class_cdc_acm_bulkout_thread.c
  
Improved interface request process with print class GET_DEVICE_ID support, file modified:
    ux_device_stack_control_request_process.c
  
Added new device mode to manage endpoint buffers in classes, files modified:
    ux_api.h
    ux_user_sample.h
  
    ux_device_class_dpump.h
    ux_device_class_dpump_activate.c
    ux_device_class_dpump_change.c
    ux_device_class_dpump_initialize.c
    ux_device_class_dpump_read.c
    ux_device_class_dpump_read_run.c
    ux_device_class_dpump_write.c
    ux_device_class_dpump_write_run.c
  
    ux_device_stack_initialize.c
    ux_device_stack_uninitialize.c
  
    ux_device_class_audio.h
    ux_device_class_audio_activate.c
    ux_device_class_audio_change.c
    ux_device_class_audio_initialize.c
    ux_device_class_audio_unitialize.c
  
    ux_device_class_ccid.h
    ux_device_class_ccid_activate.c
    ux_device_class_ccid_initialize.c
    ux_device_class_ccid_uninitialize.c
  
    ux_device_class_cdc_acm.h
    ux_device_class_cdc_acm_bulkin_thread.c
    ux_device_class_cdc_acm_bulkout_thread.c
    ux_device_class_cdc_acm_initialize.c
    ux_device_class_cdc_acm_read.c
    ux_device_class_cdc_acm_read_run.c
    ux_device_class_cdc_acm_tasks_run.c
    ux_device_class_cdc_acm_unitialize.c
    ux_device_class_cdc_acm_write.c
    ux_device_class_cdc_acm_write_run.c
  
    ux_device_class_cdc_ecm.h
    ux_device_class_cdc_ecm_activate.c
    ux_device_class_cdc_ecm_bulkin_thread.c
    ux_device_class_cdc_ecm_bulkout_thread.c
    ux_device_class_cdc_ecm_change.c
    ux_device_class_cdc_ecm_initialize.c
    ux_device_class_cdc_ecm_uninitialize.c
  
    ux_device_class_hid.h
    ux_device_class_hid_activate.c
    ux_device_class_hid_initialize.c
    ux_device_class_hid_uninitialize.c
  
    ux_device_class_pima.h
    ux_device_class_pima_activate.c
    ux_device_class_pima_initialize.c
    ux_device_class_pima_object_info_get.c
    ux_device_class_pima_object_prop_desc_get.c
    ux_device_class_pima_object_prop_value_get.c
    ux_device_class_pima_object_references_get.c
  
    ux_device_class_printer.h
    ux_device_class_printer_activate.c
    ux_device_class_printer_initialize.c
    ux_device_class_printer_uninitialize.c
    ux_device_class_printer_write.c
    ux_device_class_printer_write_run.c
  
    ux_device_class_rndis.h
    ux_device_class_rndis_activate.c
    ux_device_class_rndis_bulkin_thread.c
    ux_device_class_rndis_bulkout_thread.c
    ux_device_class_rndis_initialize.c
  
    ux_device_class_storage.h
    ux_device_class_storage_activate.c
    ux_device_class_storage_initialize.c
    ux_device_class_storage_thread.c
    ux_device_class_storage_uninitialize.c
  
    ux_device_class_video.h
    ux_device_class_video_change.c

ThreadX GUIX升级至V6.3.0,增加画布局部缓存支持,增加Cortex-M85的Helium支持

ThreadX FileX和LevelX升级至V6.3.0,加强NAND和NOR支持

GUIX Studio升级至V6.3.0版本,支持单独生成字库和图库bin文件


9、H7-TOOL本周进展

H7-TOOL详细介绍:H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

开始H7-TOOL的2.24版本固件收尾工作,这次更新的内容很多,除了新增一批脱机烧录支持芯片。

这次将带来I2C从机,SPI从机,CANopen解析(已经在论坛发布),RTOS Trace链表解析,CMSIS-SVD文件解析实时监测各种外设等功能

(1)H7-TOOL的CANopen解析功能增加分包展示心跳,紧急报文,PDO和SDO消息

主从组网测试,节点多了之后,很多消息混杂在一起。今天增加个分窗口展示功能,汇总窗口展示所有消息,其它窗口分别展示心跳,紧急报文,PDO和SDO。

比如下面这种,很多都在一起展示,不好分辩

通过这些窗口做分辩后,会大大方便查看:

同时增加5Mbps通信速度:


(2)H7-TOOL增加CMSIS-SVD解析功能,实时监测所有芯片厂家所有外设寄存器和每个bit

下个2.24版本固件正式发布。

(1)支持离线,WiFi,以太网和USB四种玩法,且支持内网和外网远程访问。芯片所有寄存器状态全部掌控。

(2)不会复位目标板芯片,随时连接随时使用。

(3)MDK, IAR等在线调试有两个重要功能,一个是断点,单步调试等玩法。还有一个就是外设寄存器状态,内存数据等实时检测。我们本次要实现的是后者,当前TOOL就可以读写外设寄存器,但是需要看IC数据手册来获取外设地址,非常不方便。
    针对这个问题,IC厂家都有推出CMSIS-SVD文件,这个文件包含了所有外设寄存器地址,甚至每个寄存器每个bit的含义。所以TOOL能够解析这个文件,意义重大。

初步上位机解析效果:

之前版本已经发布了elf,axf,out可执行文件解析

这样内存变量解析,寄存器解析全部集齐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/119857.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研408-计算机网络 第一章-计算机网络体系结构学习笔记及习题

第一章 计算机网络体系结构 一 计算机网络概述 1.1 概念及功能 1.1.1 计算机网络的概念 计算机网络就是互连的、自治的计算机系统的集合 互连:通过通信链路互联互通 自治:各个节点之间无主从关系,高度自治的 1.1.2 计算机网络的功能 功…

【STM32】Systick定时器

一、STM32的5种定时器简介 1.独立看门狗(IWDG) VS 窗口看门狗(WWDG) 1.独立看门狗(IWDG) 独立看门狗:当没有到设定时间之前,给它喂了狗,就会回到初始值。 2.窗口看门狗…

【Linux】:初识git || centos下安装git || 创建本地仓库 || 配置本地仓库 || 认识工作区/暂存区(索引)以及版本库

📮1.初识git Git 原理与使用 课程⽬标 • 技术⽬标:掌握Git企业级应⽤,深刻理解Git操作过程与操作原理,理解⼯作区,暂存区,版本库的含义 • 技术⽬标:掌握Git版本管理,⾃由进⾏版本回退、撤销、修改等Git操…

.NET Framework中自带的泛型委托Func

Func<>是.NET Framework中自带的泛型委托&#xff0c;可以接收一个或多个输入参数&#xff0c;并且有返回值&#xff0c;和Action类似&#xff0c;.NET基类库也提供了多达16个输入参数的Func委托&#xff0c;输出参数只有1个。 1、Func泛型委托 .NET Framework为我们提…

声音训练数据集哪里找?中文、英文

一般找数据集的都是需要训练底膜的&#xff0c;大家git上找的开源项目大多是预训练模型。预训练就是别人已经训练好的底膜&#xff0c;你在他的基础上进行调整。而我们训练如果他这个模型不理想是需要训练底膜的。 找的方式是从git开源上找 中文 推荐MockingBird&#xff0c;…

单链表的实现

单链表的实现 单链表的链表的概念及结构概念结构链表结构的分类链表常用的结构 无头单向不循环链表头文件 SList.h结构体 struct SListNode 源文件 SList.c创建结点 SLNode* SLBuyNode(SLDataType x)初始化链表 void SLInit(SLNode** pphead)链表尾部插入 void SLPushBack(SLNo…

【Qt之绘制兔纸】

效果 代码 class drawRabbit: public QWidget { public:drawRabbit(QWidget *parent nullptr) : QWidget(parent) {}private:void paintEvent(QPaintEvent *event) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);// 绘制兔子的耳朵painter.s…

案例研究|腾讯音乐娱乐集团与JumpServer共探安全运维审计解决方案

近年来&#xff0c;得益于人民消费水平的提升以及版权意识的加强&#xff0c;用户付费意愿和在线用户数量持续增长&#xff0c;中国在线音乐市场呈现出稳定增长的发展态势。随着腾讯音乐于2018年12月上市&#xff0c;进一步推动了中国在线音乐市场的发展。 腾讯音乐娱乐集团&a…

用Rust和Scraper库编写图像爬虫的建议

本文提供一些有关如何使用Rust和Scraper库编写图像爬虫的一般建议&#xff1a; 1、首先&#xff0c;你需要安装Rust和Scraper库。你可以通过Rustup或Cargo来安装Rust&#xff0c;然后使用Cargo来安装Scraper库。 2、然后&#xff0c;你可以使用Scraper库的Crawler类来创建一个…

Config

因为我们微服务的模块太多了&#xff0c;这样每一个都有一个application.yml文件&#xff0c;假如说此时数据库的配置变了&#xff0c;这样一个个修改yml文件太麻烦了&#xff0c;所以我们想要一套集中式的&#xff0c;动态的配置管理设施是必不可少的。此时SpringCloud Config…

爬取Elastic Stack采集的Nginx内容

以下是一个简单的Go语言爬虫程序&#xff0c;用于爬取Elastic Stack采集的Nginx内容。请注意&#xff0c;这只是一个基本的示例&#xff0c;实际使用时可能需要根据具体情况进行修改和扩展。 package mainimport ("fmt""net/http""io/ioutil" )…

Intel oneAPI笔记(4)--jupyter官方文档(Unified Shared Memory)学习笔记

前言 本文是对jupyterlab中oneAPI_Essentials/03_Unified_Shared_Memory文档的学习记录&#xff0c;主要包含对统一共享内存的讲解 USM概述 USM (Unified Shared Memory)是SYCL中基于指针的内存管理。对于使用malloc或new来分配数据的C和C程序员来说应该很熟悉。当将现有的C…

【H616_语言小美_控制安卓刷抖音项目 orangePi zero2 (已开源) 】.md uptada:23/11/07

文章目录 H616_语言小美_控制安卓刷抖音项目小美效果展示H616 ubuntu系统 安装adb智能公元 SU-03T 离线语音模组 固件制作配合串口实现 小美_控制安卓刷抖音 H616_语言小美_控制安卓刷抖音项目 注意&#xff1a;orangePi zero2 H616 安装系统为ubuntu 小美效果展示 语言小美 …

基于springboot实现招生平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现招生管理系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括招生管理系统的网络应用&#xff0c;在外国招生管理系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。招…

笔记50:正则表达式入门宝典

引自&#xff1a;正则表达式是什么? - 知乎 中“龙吟九野”所写的一个回答&#xff0c;个人感觉看完之后如同醍醐灌顶&#xff0c;查了很多资料都没有这篇文章写的基础和通透&#xff0c;感觉是正则表达式扫盲好文&#xff0c;所以搬运一下&#xff0c;侵权删&#xff0c;感谢…

如何使用 Loadgen 来简化 HTTP API 请求的集成测试

引言 在编写 HTTP 服务的过程中&#xff0c;集成测试 1 是保证程序正确性的重要一环&#xff0c;如下图所示&#xff0c;其基本的流程就是不断向服务发起请求然后校验响应的状态和数据等&#xff1a; 为大量的 API 和用例编写测试是一件繁琐的工作&#xff0c;而 Loadgen 2 正…

高效接口重试机制的实现

实现一个高效的接口重试机制对于保证系统的稳定性和可靠性至关重要。在面对网络不稳定、服务端故障或者高负载的情况下&#xff0c;接口重试机制能够确保请求的成功执行&#xff0c;同时也需要保证在重试过程中不会造成额外的负担或不必要的延迟。本文将为您介绍高效接口重试机…

IO多路复用 Linux C Server-Client 多用户聊天系统

目录 Server-Client mutiplexingServer mutiplexingClient mutiplexing Server-Client 在Linux系统中&#xff0c;IO多路复用是一种机制&#xff0c;它允许一个进程能够监视多个文件描述符&#xff08;sockets、pipes等&#xff09;的可读、可写和异常等事件。这样&#xf…

武器检测YOLOV8NANO

武器检测&#xff08;匕首&#xff0c;步枪&#xff0c;手枪&#xff09;&#xff0c;采用YOLOV8NANO训练&#xff0c;得到pt模型&#xff0c;然后转换成Onnx模型&#xff0c;供OPENCV DNN调用&#xff0c;支持C,PYTHON,ANDROID。有标注的训练集 武器检测YOLOV8NANO

macOS磁盘分区调整软件--Paragon Camptune X 中文

Paragon Camptune X是一款专为Mac用户设计的强大分区大小调整工具。通过它&#xff0c;用户可以简便地调整Mac硬盘上的分区大小&#xff0c;实现存储空间的高效管理。无论是需要在Mac和Windows系统之间切换的双系统用户&#xff0c;还是有其他特定存储需求的用户&#xff0c;Ca…