硬汉嵌入式论坛

 找回密码
 立即注册
查看: 746|回复: 0
收起左侧

ThreadX USBX升级至V6.3.0, 大量支持zero copy和性能提升(2023-11-01)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-11-1 10:26:14 | 显示全部楼层 |阅读模式
论坛下载:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=97925

Github下载:
https://github.com/azure-rtos/usbx

[C] 纯文本查看 复制代码
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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 18:58 , Processed in 0.160084 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表