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

news/2024/7/10 20:24:11 标签: 开源, 机器人

周报汇总地址:嵌入式周报 - 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可执行文件解析

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


http://www.niftyadmin.cn/n/5160764.html

相关文章

SpringCloud——服务网关——GateWay

1.GateWay是什么? gateway也叫服务网关,SpringCloud GateWay使用的是Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架。 gateway的功能有反向代理、鉴权、流量控制、熔断、日志监控...... 2.为什么不使用Zuul&#xff1f…

Win10系统下torch.cuda.is_available()返回为False的问题解决

Q: Win10系统下torch.cuda.is_available()返回为False (l2) D:\opt\l2>pythonPython 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:34:57) [MSC v.1936 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or &q…

界面组件Telerik UI for WinForms中文教程 - 如何自定义应用程序文件窗口?

Telerik UI for WinForms包含了一个高度可定制的组件,它取代了.NET中默认的OpenFileDialog。在下一个更新版本中,会发布一个向对话框浏览器提那家自定义位置的请求功能,本文演示了这个和另一个自定义功能,它可以帮助用户在浏览文件…

C++常用格式化输出转换

在C语言中可以用printf以一定的格式打印字符,C当然也可以。 输入输出及命名空间还不太了解的小伙伴可以看一看C入门讲解第一篇。  在C中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2…

STM32G0+EMW3080+阿里云飞燕平台实现单片机WiFi智能联网功能(三)STM32G0控制EMW3080实现IoT功能

项目描述:该系列记录了STM32G0EMW3080实现单片机智能联网功能项目的从零开始一步步的实现过程;硬件环境:单片机为STM32G030C8T6;物联网模块为EMW3080V2-P;网联网模块的开发板为MXKit开发套件,具体型号为XCH…

gwIvy for 3dMax插件教程

gwIvy for 3dMax插件教程 常春藤旨在在真实世界规模的场景中生长! 常春藤在 500m 的树上看起来不太好...所以,尝试使用这个最大功能... 种植常春藤实际上就像编写插件一样简单:)) 如果您阅读下面写的内容,那就更容易了... 1) 种植…

pandas教程:Reading and Writing Data in Text Format (以文本格式读取和写入数据)

文章目录 Chapter 6 Data Loading, Storage, and File Formats(数据加载,存储,文件格式)6.1 Reading and Writing Data in Text Format (以文本格式读取和写入数据)1 Reading Text Files in Pieces(读取一部分文本&…

gamma跃迁

伽马跃迁 gamma 辐射的多极性 经典的电磁辐射:由两个电量相等符号相反的电荷的偶极子作简诣振动 两个偶极子组成的系统(四极子) 产生四极辐射 两个四极子组成的系统(八极子) 产生八极辐射 原子核多极辐射 gamma 跃迁…