Documentation and download available at https://www.FreeRTOS.org/
Changes between FreeRTOS V10.5.0 and FreeRTOS V10.5.1 released November 16 2022
+ Updating the version in the manifest.yml file to be accurate.
Changes between FreeRTOS V10.4.6 and FreeRTOS V10.5.0 released September 16 2022
+ ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
already independently gained the ability to execute injected code to
read from or write to arbitrary addresses by passing a negative argument
as the xIndex parameter to pvTaskGetThreadLocalStoragePointer() or
vTaskSetThreadLocalStoragePointer respectively. A check has been added to
ensure that passing a negative argument as the xIndex parameter does not
cause arbitrary read or write.
We thank Certibit Consulting, LLC for reporting this issue.
+ ARMv7-M and ARMv8-M MPU ports: It was possible for an unprivileged task
to invoke any function with privilege by passing it as a parameter to
MPU_xTaskCreate, MPU_xTaskCreateStatic, MPU_xTimerCreate,
MPU_xTimerCreateStatic, or MPU_xTimerPendFunctionCall. MPU_xTaskCreate
and MPU_xTaskCreateStatic have been updated to only allow creation of
unprivileged tasks. MPU_xTimerCreate, MPU_xTimerCreateStatic and
MPU_xTimerPendFunctionCall APIs have been removed.
We thank Huazhong University of Science and Technology for reporting
this issue.
+ ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
already independently gained the ability to execute injected code to
achieve further privilege escalation by branching directly inside a
FreeRTOS MPU API wrapper function with a manually crafted stack frame.
The local stack variable `xRunningPrivileged` has been removed so that
a manually crafted stack frame cannot be used for privilege escalation
by branching directly inside a FreeRTOS MPU API wrapper.
We thank Certibit Consulting, LLC, Huazhong University of Science and
Technology and the SecLab team at Northeastern University for reporting
this issue.
+ ARMv7-M MPU ports: It was possible to configure overlapping memory
protection unit (MPU) regions such that an unprivileged task could access
privileged data. The kernel now uses highest numbered MPU regions for
kernel protections to prevent such MPU configurations.
We thank the SecLab team at Northeastern University for reporting this
issue.
+ Add support for ARM Cortex-M55.
+ Add support for ARM Cortex-M85. Contributed by @gbrtth.
+ Add vectored mode interrupt support to the RISC-V port.
+ Add support for RV32E extension (Embedded Profile) in RISC-V GCC port.
Contributed by @Limoto.
+ Heap improvements:
- Add a check to heap_2 to track if a memory block is allocated to
the application or not. The MSB of the size field is used for this
purpose. The same check already exists in heap_4 and heap_5. This
check prevents double free errors.
- Add a new flag configHEAP_CLEAR_MEMORY_ON_FREE to heap_2, heap_4
and heap_5. If the flag is set in FreeRTOSConfig.h then memory freed using
vPortFree() is automatically cleared to zero.
- Add a new API pvPortCalloc to heap_2, heap_4 and heap_5 which has the same
signature as the standard library calloc function.
- Update the pointer types to portPOINTER_SIZE_TYPE. Contributed by
@Octaviarius.
+ Add the ability to override send and receive completed callbacks for each
instance of a stream buffer or message buffer. Earlier there could be
one send and one receive callback for all instances of stream and message
buffers. Having separate callbacks per instance allows different message
and stream buffers to be used differently - for example, some for inter core
communication and others for same core communication.
The feature can be controlled by setting the configuration option
configUSE_SB_COMPLETED_CALLBACK in FreeRTOSConfig.h. When the option is set to 1,
APIs xStreamBufferCreateWithCallback() or xStreamBufferCreateStaticWithCallback()
(and likewise APIs for message buffer) can be used to create a stream buffer
or message buffer instance with application provided callback overrides. When
the option is set to 0, then the default callbacks as defined by
sbSEND_COMPLETED() and sbRECEIVE_COMPLETED() macros are invoked. To maintain
backwards compatibility, configUSE_SB_COMPLETED_CALLBACK defaults to 0. The
functionality is currently not supported for MPU enabled ports.
+ Generalize the FreeRTOS's Thread Local Storage (TLS) support so that it
is not tied to newlib and can be used with other c-runtime libraries also.
The default behavior for newlib support is kept same for backward
compatibility.
+ Add support to build and link FreeRTOS using CMake build system. Contributed
by @yhsb2k.
+ Add support to generate Software Bill of Materials (SBOM) for every release.
+ Add support for 16 MPU regions to the GCC Cortex-M33 ports.
+ Add ARM Cortex-M7 r0p0/r0p1 Errata 837070 workaround to ARM CM4 MPU ports.
The application writer needs to define configENABLE_ERRATA_837070_WORKAROUND
when using CM4 MPU ports on a Cortex-M7 r0p0/r0p1 core.
+ Add configSYSTICK_CLOCK_HZ to Cortex-M0 ports. This is needed to support
the case when the SysTick timer is not clocked from the same source as the CPU.
+ Add hardware stack protection support to MicroBlazeV9 port. This ensures that
the CPU immediately raises Stack Protection Violation exception as soon as any
task violates its stack limits. Contributed by @uecasm.
+ Introduce the configUSE_MINI_LIST_ITEM configuration option. When this
option is set to 1, ListItem_t and MiniLitItem_t remain separate types.
However, when configUSE_MINI_LIST_ITEM == 0, MiniLitItem_t and ListItem_t
are both typedefs of the same struct xLIST_ITEM. This addresses some issues
observed when strict-aliasing and link time optimization are enabled.
To maintain backwards compatibility, configUSE_MINI_LIST_ITEM defaults to 1.
+ Simplify prvInitialiseNewTask to memset newly allocated TCB structures
to zero, and remove code that set individual structure members to zero.
+ Add prototype for prvPortYieldFromISR to the POSIX port so that it builds
without any warning with -Wmissing-prototypes compiler option.
+ Add top of stack and end of stack to the task info report obtained using
vTaskGetInfo(). Contributed by @shreyasbharath.
+ Add a cap to the cRxLock and cTxLock members of the queue data structure.
These locks count the number items received and sent to the queue while
the queue was locked. These are later used to unblock tasks waiting on
the queue when the queue is unlocked. This PR caps the values of the
cRxLock and cTxLock to the number of tasks in the system because we cannot
unblock more tasks than there are in the system. Note that the same assert
could still be triggered is the application creates more than 127 tasks.
+ Changed uxAutoReload parameter in timer functions to xAutoReload. The
type is now BaseType_t. This matches the type of pdTRUE and pdFALSE.
The new function xTimerGetAutoReload() provides the auto-reload state as
a BaseType_t. The legacy function uxTimerGetAutoReload is retained with the
original UBaseType_t return value.
+ Fix support for user implementations of tickless idle that call
vTaskStepTick() with xExpectedIdleTime ticks to step. The new code
ensures xTickCount reaches xNextTaskUnblockTime inside xTaskIncrementTick()
instead of inside vTaskStepTick(). This fixes the typical case where a task
wakes up one tick late and a rare case assertion failure when xTickCount\
rolls over. Contributed by @jefftenney.
+ Fix deadlock in event groups when pvPortMalloc and vPortFree functions
are protected with a mutex. Contributed by @
没有合适的资源?快使用搜索试试~ 我知道了~
Facility-H5-use-usbx.rar
共2000个文件
c:1514个
h:344个
txt:137个
需积分: 0 0 下载量 76 浏览量
2024-04-28
17:02:40
上传
评论
收藏 8.65MB RAR 举报
温馨提示
基于stm32的USB模拟UART的实现,工程中使用stm32h5系列的单片机,使用USB来模拟串口,使用了CDC类。
资源推荐
资源详情
资源评论
收起资源包目录
Facility-H5-use-usbx.rar (2000个子文件)
arm_common_tables.c 4.69MB
arm_common_tables_f16.c 680KB
arm_mve_tables.c 471KB
picture.c 408KB
stm32h5xx_hal_i3c.c 346KB
arm_mve_tables_f16.c 315KB
stm32h5xx_hal_tim.c 267KB
stm32h5xx_hal_i2c.c 253KB
stm32h5xx_hal_cryp.c 219KB
tasks.c 218KB
stm32h5xx_hal_rcc_ex.c 218KB
stm32h5xx_hal_dma_ex.c 174KB
stm32h5xx_hal_uart.c 163KB
stm32h5xx_hal_adc.c 150KB
stm32h5xx_hal_mmc.c 140KB
stm32h5xx_hal_usart.c 136KB
stm32h5xx_hal_sd.c 129KB
stm32h5xx_hal_smartcard.c 128KB
stm32h5xx_hal_fdcan.c 123KB
queue.c 123KB
stm32h5xx_hal_tim_ex.c 122KB
stm32h5xx_hal_spi.c 119KB
stm32h5xx_hal_lptim.c 119KB
stm32h5xx_hal_eth.c 116KB
stm32h5xx_hal_xspi.c 109KB
stm32h5xx_hal_irda.c 108KB
stm32h5xx_hal_hash.c 106KB
stm32h5xx_hal_pka.c 105KB
stm32h5xx_hal_rtc_ex.c 104KB
stm32h5xx_ll_rcc.c 98KB
stm32h5xx_hal_smbus.c 97KB
stm32h5xx_hal_fmac.c 97KB
stm32h5xx_hal_adc_ex.c 96KB
font_8x16.c 93KB
stm32h5xx_hal_sai.c 93KB
stm32h5xx_hal_i2s.c 88KB
stm32h5xx_hal_rtc.c 85KB
stm32h5xx_hal_hcd.c 84KB
stm32h5xx_hal_nand.c 73KB
cmsis_os2.c 72KB
stm32h5xx_hal_rcc.c 69KB
stm32h5xx_hal_dac.c 64KB
ux_dcd_stm32_callback.c 63KB
stm32h5xx_hal_gtzc.c 62KB
stream_buffer.c 61KB
stm32h5xx_hal_flash_ex.c 61KB
stm32h5xx_hal_pssi.c 60KB
stm32h5xx_ll_dma.c 59KB
stm32h5xx_ll_sdmmc.c 59KB
stm32h5xx_hal_pcd.c 58KB
stm32h5xx_hal_dma.c 58KB
stm32h5xx_ll_tim.c 57KB
arm_cfft_radix4_q15.c 55KB
port.c 55KB
DAP.c 54KB
stm32h5xx_ll_adc.c 52KB
ux_device_class_storage_tasks_run.c 52KB
ux_device_class_dfu_control_request.c 52KB
stm32h5xx_hal_nor.c 52KB
arm_mat_inverse_f32.c 51KB
arm_linear_interp_data.c 51KB
stm32h5xx_hal_dcache.c 50KB
timers.c 49KB
arm_correlate_f16.c 47KB
stm32h5xx_hal_cordic.c 46KB
stm32h5xx_hal_dcmi.c 45KB
arm_mat_cmplx_mult_f32.c 44KB
stm32h5xx_hal_sdram.c 44KB
arm_fft_bin_data.c 43KB
stm32h5xx_ll_fmc.c 42KB
stm32h5xx_hal.c 42KB
arm_fir_q31.c 41KB
arm_cfft_radix4_f16.c 41KB
stm32h5xx_ll_utils.c 40KB
stm32h5xx_hal_opamp.c 40KB
arm_fir_f32.c 40KB
stm32h5xx_hal_comp.c 39KB
arm_fir_interpolate_f32.c 39KB
stm32h5xx_ll_usb.c 39KB
stm32h5xx_ll_spi.c 38KB
stm32h5xx_hal_sram.c 38KB
stm32h5xx_hal_uart_ex.c 37KB
stm32h5xx_hal_ramcfg.c 36KB
stm32h5xx_hal_otfdec.c 36KB
arm_cfft_f32.c 36KB
stm32h5xx_hal_dac_ex.c 35KB
arm_mat_cmplx_mult_q31.c 34KB
arm_cfft_radix4_f32.c 34KB
ux_host_class_storage_tasks_run.c 34KB
stm32h5xx_hal_dts.c 34KB
stm32h5xx_hal_cec.c 32KB
ux_host_class_asix_setup.c 32KB
stm32h5xx_hal_rng.c 32KB
arm_mat_mult_f32.c 32KB
event_groups.c 31KB
arm_correlate_f32.c 31KB
stm32h5xx_ll_rtc.c 30KB
ux_device_class_storage_get_configuration.c 30KB
ux_device_class_pima_thread.c 30KB
arm_mat_inverse_f16.c 30KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
独处东汉
- 粉丝: 360
- 资源: 822
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功