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

news2024/12/25 13:34:46

周报汇总地址:嵌入式周报 - 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.coloradmin.cn/o/1180084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享34个发布商会PPT,总有一款适合您

分享34个发布商会PPT,总有一款适合您 链接:https://pan.baidu.com/s/1jP9toqTZONWeDIcxvw1wxg?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付费甚…

重装系统后,anaconda如何恢复

电脑中给予anaconda创建了100个虚拟环境(夸张了) 因为硬盘的问题,需要重装系统,于是搜了一下如何恢复anaconda,如下: 1. cd 到anaconda的安装路径; 2. 运行下面命令: python .\L…

建设项目管理中的 5 大预算挑战

为建设项目管理制定可靠、准确的预算是一项艰巨的任务,对于中小型建筑企业来说尤其如此。预算必须精确,同时还要考虑到每项工作的独特性和复杂性。 一项建筑行业相关调查统计了参与施工预算流程的人员所面临的最大挑战,分别是时间、预算、不…

V90伺服EPOS模式点动控制(详细介绍+完整SCL代码)

V90伺服驱动器采用西门子标准报文111加FB284(SINA_POS)详细的报文组态和功能块请参考下面文章链接: 博途1200/1500PLC V90 PN通信控制 (FB284功能块)_fb284功能块文档说明_RXXW_Dor的博客-CSDN博客文章浏览阅读5.3k次。先简单说下如何获取FB284,一般有2种方法,Startdrive软…

java项目之摄影器材租赁系统(ssm框架)

项目简介 摄影器材租赁系统实现了以下功能: 管理员:个人中心、用户管理、商家管理、器材信息管理、器材租赁管理、聊天信息管理、聊天回复管理、归还提醒管理、租赁反馈管理、论坛管理、系统管理、我的收藏管理 押金缴纳管理、扣除押金管理等等。用户&…

二百零一、Flink——Flink配置状态后端运行后报错:Can not create a Path from an empty string

一、目的 在尚硅谷学习用Flink配置状态后端的项目中,运行报错Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string 二、Flink的状态后端(state backend)类型 (一)Memo…

Linux系统安装宝塔面板

系统安装要求 宝塔Linux面板操作系统支持:Centos、Ubuntu、Deepin、Alibaba Cloud Linux、Debian和Fedora,建议使用购买ECS后全新未操作的系统或执行初始化后的系统。 不支持32位系统。 请确认在安装宝塔面板前,未通过任何方式或程序安装Ap…

1.1 微信支付接入指引与支付安全

微信支付接入指引与支付安全 文章目录 微信支付接入指引与支付安全一、微信产品介绍1.1 付款码支付1.2 JSAPI支付1.3 小程序支付1.4 Native支付1.5 APP支付1.6 刷脸支付 二、接入指引2.1 获取商户号2.2 获取AppID2.3 绑定商户号与AppId2.4 获取秘钥和证书2.4.1 申请API秘钥2.4.…

Java进阶篇--Executors类创建常见线程池

目录 线程池架构 newSingleThreadExecutor newFixedThreadPool newCachedThreadPool newScheduledThreadPool Executors和ThreaPoolExecutor创建线程池的区别 两种提交任务的方法 线程池架构 线程池是一种线程管理的机制,用于维护和复用线程,以…

手术训练系统项目

★ 手术训练系统项目 项目描述:手术训练系统,它提供了多项功能,包括账户登录与创建、数据库与账户管理、课程管理、小组管理、成绩统计、证书发布、训练和系统设置。 职责描述: 1、训练功能开发(任务概述、任务指导、评分规则、评…

惊艳!拓世法宝AI智能数字人一体机解锁数字文博的全民体验

在数字化的潮流中,我们见证了历史与现代技术的完美融合。在今年的“国际古迹遗址日”,世界首个超时空参与式博物馆“数字藏经洞”正式与公众见面,在这里开启了一场前所未有的文化探索之旅。 时间和空间被艺术化的数字技术巧妙地折叠&#xf…

建链时,please install openssl! use “openssl version“ command to check.

please install openssl! use “openssl version” command to check. 但是我已经安装了 编辑build_chain.sh文件 也可以用vi或者gedit命令 将 [ ! -z “ ( o p e n s s l v e r s i o n ∣ g r e p 1.0.2 ) " ] ∣ ∣ [ ! − z " (openssl version | grep 1.0.2)…

YOLO目标检测——红绿灯检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:红绿灯检测数据集在自动驾驶、交通安全监控、智能交通系统、交通流量监测和驾驶员辅助系统等领域都有广泛应用的潜力数据集说明:红绿灯检测数据集,真实场景的高质量图片数据,数据场景丰富,含有国内红绿灯…

ARM64 linux并发与同步之原子操作

卷2:调试与案例分析 第一章 并发与同步 画了两张简图,方便理解,如下: 针对并发源的问题,我接触的项目中都是SMP系统,目前大部分也都是SMP系统; 对于SMP系统,情况会更复杂。 □ 同…

第二证券:特斯拉将推出低价电动汽车?最新消息

当地时间周一,投资者接连上星期五的达观心境,美国三大股指高开高走。美联储主席鲍威尔本周到会活动时将有两次揭穿说话,投资者期望从中得到更多关于本轮加息周期完毕的信号,但也对联邦基金利率可能在更长时期内维持在高水平保持警…

我的创作纪念日——2048天

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Java并发工具-1-原子操作(Atomic)

一 原子操作之 AtomicInteger 1 概念解释 什么是原子操作呢?所谓原子操作,就是一个独立且不可分割的操作。 AtomicInteger 工具类提供了对整数操作的原子封装。为什么要对整数操作进行原子封装呢? 在 java 中,当我们在多线程情…

龙芯loongarch64服务器编译安装matplotlib

前言 根据我之前的文章介绍,龙芯loongarch64服务器中的很多python依赖包安装有问题,发现其中安装的"matplotlib"就无法正常使用,或报如下错误:ImportError: cannot import name _c_internal_utils from partially initi…

python 中文字符转换unicode及Unicode 编码转换为中文

废话不多说 直接开干 知识点 decode 字节编码可decode为str encode 将字符串转换为bytes类型的对象 (即b为前缀, bytes类型), 即Ascll编码, 字节数组 encode(‘unicode-escape’)可将此str编码为bytes类型, 内容则是unicode形式 decode(‘unicode-escape’)可将内容为unicode形…

智能座舱“卷“疯了!8295不再是最“亮”点,还需要这些顶级配置

前段时间,车圈被两款“极”字辈的新车刷屏:极越01和极氪001 FR。 前者可视作当前自主品牌车企高度智能化水平的“范式”,后者无疑是中国汽车品牌颠覆极限性能的代表作。 同时,这两款车将座舱配置作为卖点进行了详细推送&#xf…