From aab2428d4177a02cd3b0fd020e47a88de379a6ab Mon Sep 17 00:00:00 2001 From: xiangxistu <52819708+xiangxistu@users.noreply.github.com> Date: Mon, 22 Aug 2022 10:22:57 +0800 Subject: [PATCH] [update] changelog for RT-Thread_v4.1.1 (#6321) Co-authored-by: liuxianliang --- ChangeLog.md | 513 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 513 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index e86cf72607..d5d048c6a4 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,516 @@ +# RT-Thread v4.1.1 released + +Change log since v4.1.0 released + +## Kernel + +* rtdef.h + * Add BGR888 pixel format + * be friendly to macro expansion +* add 64bit default value for stack size +* set tick HZ as 1000 by default +* enhanced rt_kprintf to support "long long" type +* use RT_KSERVICE_USING_STDLIB_MEMXXX to replace RT_KSERVICE_USING_STDLIB_MEMCP/MEMSET +* RT_KSERVICE_USING_STDLIB is open by default +* ipc + * Add descriptions for rt_mq_recv and rt_sem_take timeout parameters + * fix parameter name +* enable RT_DEBUG_DEVICE by default and move weak rt_hw_dealy_us in kservice.c +* Updated the Cortex-A of linker scripts for the new version of GCC, Removed C++ global constructor initialization, this method is not used in GCC4.7 and later versions +* remove the register keyword +* rename _rt_scheduler_stack_check as _scheduler_stack_check +* update comments for rt_thread_suspend +* fix comment for rt_container_of +* fixed bug of timer +* remove the executable permission of thread.c +* remove strnlen function +* add NULL check for rt_free and rt_free_align +* suuport perf_counter +* tighten size before check with mem_size_aligned +* Add string information for error +* fix a problem about finsh_set_prompt redefined msh command +* Unify the data type and macro definition of kernel built-in and standard LIBC library +* add macro RT_VERSION_CHECK to implement version check +* fix the style for "rt_hw_us_delay" function +* fix the time slice logic for schedule.c + +## Components + +* driver + * Detailed classification of devices types + * Update device type definition and command definition + * ioctl add F_SETFL cmd + * fix a problem that eliminate recursion + * fix som compilation warning +* driver/serial_v2 + * add support for "termios" + * add hardware flow control support + * fixed bug for RT_SERIAL_TX_BLOCKING model + * add rt_assert for serial_v2 +* driver/sensor + * Add blood pressure sensor type + * Add RT_SENSOR_VENDOR_MELEXIS in sensor.h + * Add RT_SENSOR_VENDOR_MELEXIS in sensor_cmd.c +* driver/spi + * remove _spi_bus_device_control + * Fix rt_qspi_send symbol extension BUG + * fix issue report #6008 rt_spi_sendrecv8 +* driver/rtc + * Adjust ops function input parameters + * Optimize execution efficiency + * Add get/set timestamp function + * Enhanced date command + * fix the parameter check about "time" + * use gmtime_r to replace gmtime +* driver/alarm + * Fix week alarm bug + * Compact alarm output + * fix a typo +* driver/inputcapture + * add DBG_TAG for rt_inputcapure.c +* driver/hwtimer + * add disable interrupt protection for hwtimer_isr function +* driver/hwcrypto + * Optimize memory usage +* driver/sdio + * Support DDR mode + * modify the address offset problem for sdio read and write +* driver/dac + * fix return value of rt_dac_write function + * add get resolution method +* driver/adc + * add a interface to get sampling resolution + * add finsh voltage conversion command + * implement adc_get_vref +* driver/pwm + * clean the useless code + * add finsh pwm function +* driver/usb + * fix build error + * fix stall bug on control transfers + * add interface to get information about virtual uart connect state + * fix usbhost hid issues +* driver/wlan + * Modify wlan framework +* driver/phy + * fix the PHY_FULL_DUPLEX conflicts +* driver/can + * Add CANFD support and correct typos + * Fix can infinite loop when can driver send error +* driver/hwcrypto + * Correct function return value definition +* driver/pin + * add pin operate command in MSH +* driver/touch + * adjust the header file for touch.h +* libc + * fix c/c++ compilation warnings and errors + * improve sconscript + * fix the sys/select.h problem + * fix that some function cannot be found in unistd.h + * Remove definitions that "posix/io" are not in use + * fix the time bug + * optimize the handle logic on armcc/armclang + * fix the compiler error on iar + * fix dlmodule compile 'SEEK_END' undeclared eror + * the recycle logic about resource of pthread + * fix the function pthread_barrier_init return "EINVAL" if "count" is zero. + * solve the conflicts between libc data types and rtdef data types + * remove strdup from rtthread.h + * Fix clock_gettime for CLOCK_CPUTIME_ID + * solve the libc/timer problem which the os tick can be calculated wrongly because the local variable was not initialized + * implement extension standard C functions + * fix the error return + * modify the complier error in iar + * use atomic operation to protect pthread conditional variable + * memory leak when the value of posix semaphore is zero + * fix a problem that function difftime() compile error in iar environment + * pthread_mutex_destroy can't work + * the risk for function exit() when open pthread support + * supplement the case that exit() haven't been impletement + * try to fix the problem about "fflush" functions in armlibc + * use ```__clang__``` to replace ```__CLANG_ARM``` + * solve the compiling error for```_sys_ensure``` +* ulog + * Add file backend + * Optimize unnecessary refresh +* sfud + * support NM25Q128EVB, GD25Q32C, SST25VF080B, W25Q32BV, W25X16AV, W25X40CL + * modify the opeated way to handle a situation that flash blocks protected + * keep macros in order +* sal + * add draft for docking winsock + * rearrange sal dependencies + * rename sal.h as sal_low_lvl.h +* at + * use pointer that memory had freed + * implement about "AT server" +* lwip + * Support windows simulator + * add list command +* finish + * fix list_device crash + * Enhance system robustness + * add available memory information for free cmd + * add binary search algorithm + * add new functions to get length of finish cmd +* fal + * support fal api for c++ + * modify PKG_USING_FAL to RT_USING_FAL +* utest + * add cpp11 base testcase + * enhance strength about cpp testcase + * add posix testcase frame + * add timeslice test +* ymodem + * move error codes to rym_code to silence warnings +* Fix compilation warning + +## BSP + +* Attention, the list of new bsp we have added : + * at32f413, at32f415-start, at32f435-start, at32f437-start + * cypress-psoc6-cy8cproto-4343w + * ESP32_C3 + * gd32vf103r-start, gd32vf103v-eval + * hc32f4a0 + * imxrt1021-nxp-evk, imxrt1170-nxp-evk + * microchip, samc21, same54, same70, saml10 + * n32g45xvl-stb + * ch32v103r-evt, ch569w-evt, ch32f103c8, ch32f203r-evt + * rockchip-rk3568 + * stm32f103-100ask-mini, stm32f103-100ask-pro, stm32wle5-yizhilian-lm402 + +* lpc55sxx + * fix issue that dist cannot specify a directory + * fix building error + +* stm32 + * use weak reference to handle Macro of RTDINO_xxxx + * add new bsp for STM32WLE5JCI6 + * fix some can and pwm bug + * select the input clk of spi based on SPI instances + * fix the bug of can filter conflict + * add rtc for openmv + * add ov5640、dcmi、i2c for openmv + * update ov5640 configuration of openmv + * update arduino related + * stm32f072 support Arduino I2C and update readme + * judge the SPI instances before operating + * fix the io confict about SDIO and UART6(TX) DMA + * fix the problem if use uart DMA to receive + * remove hardware NSS + * Enable RNG Clock + * avoid conflict between cmsis5 and bsp cmsis + * add tim7 support + * f072, f401 support TIM7/TIM11 hardware timer + * l475, remove meaningless header file + * stm32f407, stm32f469 optimize lvgl folder structure about simulator + * stm32f746, cancel choose lwip and dfs by default + * remove CMSIS/RTOS folders + * add RTDUINO_NO_SETUP_LOOP + * add F_CPU to indicate the frequency of CPU + * suuport MsTimer2 library + * add correct the command description for adc, pwm + * add support for STM32L0 series + * move CMSIS hearder files to common folder + * add bootloader.bin, add the description of the bootloader in README.md for stm32h750-art-pi + * Modify the content of flash algorithms in README.md for stm32h750-art-pi + * fix stm32f767-st-nucleo console device name + * create two new bsp for 100ask stm32f103 boards + * add stm32l496zg feature, add on-chip flash + * change the bsp name of 100ask to be consistent with other bsp and commit a bug for drv_adc.c + * add h7 timer support + * implement soft spi + * use perf_counter to instead of hwtimer + * support wireless module pinout for stm32l475 + * Add lvgl adaptation of touch screen xpt2046 for stm32f407-atk + * Docking lvgl for stm32f469-st-disco bsp using ft6336 touch chip + * adapt the rtc alarm function + * optimize pwm functions + * Adapt RTduino package for stm32f469-st-disco BSP + * Docking lvgl touch driver using package for stm32f469-st-disco BSP + * Adapt lvgl for using ft6206 model touch screen for stm32f469-st-disco BSP + * Fix the configuration of stm32f401's PWM in CubeMX + * fix the network I/O is confict for stm32f429-atk-apollo + * fix PWM complementary problem and function description + * Improve the connection of RTdunio PWM for stm32f401-st-nucleo + * add a new board f407-robomaster-c and supprot stm32 timer8 + * avoid the "recv_len" will be negative if happend accident + * add RTdunio for stm32f103-blue-pill + * stm32l475-atk-pandora update readme, .gitignore + * update the Kconfig for stm32f407atk + * remove libraries dependencies for rtduino function + +* wch + * add ch32v103r-evt bsp + * add WCH CH569W-R0-1v0 evt board bsp port + * ch569w-evt : add spi master driver, SPI0 tested + * add pwm driver and spi_xfer bug fix + +* gd32 + * Add gd32450i-eval board bsp + * Complete the pins device define + * firx adc driver + * bug fixed gpio_mode_set miss gd32_spi->mosi_pin,gd32_spi->sck_pin + * fix compile error in rtc: "pmu_backup_write_enable" was not found + * Optimize GD32 bsp architecture + * fix a bug about interrupt vetor table lost cause system exception + * add driver of sdio + * correct pin number in drv_gpio.c + * fix compile error if use rtc in gd32 f1~f4 + * fix the defined error that uart I/O + +* simulator + * improve libc time and MSVC simulator + * slove the problem of simulator can't attach SD card + * upgrade SDL2.0 to 2.0.20 + * remove meaningless debug file + * create new fcntl.h file for vs + * optimize lvgl folder structure about simulator + * avoid conflicts between winsock.h and sys/time.h + * improve Kconfig structure add Onboard Peripheral Drivers menu + * enable BSD socket by default + * add RTC menuconfig + * clean the compiler warning under windows + * optimize the SD mount logic + * remove LV_DISP_DEF_REFR_PERIOD which are defined manually + * winsock implement on windows simulator + * improve init process + * sync lvgl win32 driver + * fix some warnings + * fix the problem of path cannot be find and cause failure + * change "exit()" to "exit(1)" + +* qemu + * add compiler option "-Werror" for qemu-vexpress-a9 and qemu-virt64-aarch64 + * Add quick start guide for QEMU on macOS + * chmod u+x shell script for qemu-risc-virt64 + * remove LV_DISP_DEF_REFR_PERIOD which are defined manually + * rename qemu-riscv-virt64 to qemu-virt64-riscv + * add remount operation to avoid dfs_mout fail for qemu-vexpress-a9 + * don't use sbi in m-mode for qemu-virt64-riscv + * Add more VirtIO drivers for qemu-virt64-aarch64 + * Fixup VirtIO queue align size for qemu-virt64-aarch64 + * improve qemu readme + * update qemu project + * Add VirtIO-Console and GPIO driver for qemu-virt64-aarch64 + * Update drivers' code for qemu-virt64-aarch64 + +* airm2m + + * fix the exception for i2c + +* n32g452xx + * add spi3 + * avoid system pause when timeout check + * add hardware CRC support + * update the driver about "can" + +* microchip + * Add Microchip SAM series MCU support + * add ethernet, ADC, IIC support + * update the serial driver for samc21/same54/same70 + * add SAML10 series + +* nuvoton + * Disable TRNG function in default configuration + * Update nuc980iot configuration + * remove LV_DISP_DEF_REFR_PERIOD which are defined manually + * Add private data pointer for MTD-NAND + +* at32 + * add at32f435_437 board + * update at32f435_437 adc driver + * add at32f413 and at32f415 series + * modify the folder structure + * optimize code to improve network throughput performance + +* NXP + * rt1052 add RT-Thread studio entrance + * imxrt1060 exchange On-chip Peripheral Drivers and Onboard Peripheral Drivers menu in Kconfig + * prepare to support squareline studio + * imxrt1060 optimize lvgl folder structure about simulator + * imxrt1060 support NXP GUiGuider + * imxrt1060 support keil armclang compiler + * support touchpad + * add rt1170/rt1020 bsp + * update rt1170n menuconfig + * Implement api docking of rt_pin_get + * Fixed Touch pannel for imxrt1060-nxp-evk + * mimxrt1170 Qspi flash bootup problems + * optimize the "sconsript" under floder "applications" + * Added LCD Touch Int pin to ioconfig + * During testing GT911 would not come out of reset because INT pin could not be driven low or high. + * upgrade the SDK of RT1170-EVK to 2.12 + * fix a tiny problme this is report in slack group for imxrt1060 + * remove suareline studio specific support for imxrt1060 + * update enet for rt1170 + * fix gpio interrupt bug in drv_gpio.c + * format issue report in slack group + * move phy driver into drivers folder + * add double network interface and driver for phy8211F + * add sdram driver for rt1170 + * fix the compiler error bettwen "rtc.c/rtc.h" + * format files for rt1170 + +* Nuclei + + * add null CCFLAGS for Nuclei bsps + +* renesas + * add BSP doc + * add RA2L1-CPK bsp + * refreash the driver about flash, gpio and head file + * add introduction of captouch + * fix the error on drv_wdt.c + * Add hardware i2c driver. + +* essemi + * update es32f36xx libraries + * Adapt es32f369x for RTduino + * Fix a bug of I2C and edit some documents + * remove libraries dependencies for rtduino function + +* esp + * add the bsp of esp32c3 + * Add the gpio driver and readme.md for esp32c3 + * add Kconfig esp32c3 + * add ESP32 UART driver + +* k210 + * use new SDK packages + * modify the folder structure of Kconfig + +* HC32 + * Add the BSP of HC32 series + * add rtc driver + * Unified management interrupt vector table + * configuration file revise + * add usart1/2/3 configure for hc32f460 + * add can support + * Fixed a problem where the descriptor for multiple serial ports was overwritten + * add virtual iic driver + * add adc support + * fix bugs of hc32 driver adc and can + * add rtc driver for hc32f460 + * support MDK AC6 compiler + * fix the system crash if can bus is under bus off state + * fix a problem that configure can filter is useless + * fix a problem that error interrupt isn't work + * modify precompile waring for uart,spi driver + * add the driver about timerA + * change RT_CONSOLE_DEVICE_NAME from "uart" to "uart1" + * add startup file for apm32f4xx + * add the driver of WDT + +* raspberry-pico + * optimize lvgl folder structure + * Fix the issue of inaccurate system tick. + +* nuc980 + + * Fix bug when restarting and getting interrupts that are not processed + +* rockchip + + * add rk2108 base support + +* nrf5x + + * add doc for development on rtt-studio + +* adapt lvgl 8.3.0 + +* n32 + * add n32 bsp + * modify i2c and rtc drivers + +* fm33lc026 + * add gpio support + * refreash FM33LC0xx_FL_Driver to FL_xxx_v2.3.1 + +* apm32 + * add apm32f407ig-minibroard + * add the F1xxx library of APM32 for APM32F10x_SDK_V1.6 + * add the F4xxx library of APM32 for APM32F4xx_SDK_V1.2 + +* ifx + * add cypress board of CY8CKIT-062S2-43012 + * add hwtimer device + +* raspi3-32 + + * fix some bug of funtion '__rt_ffs' + +* synwit + + * add swm341 bsp + +* tms320f28379d + + * update .config: select FINSH_USING_SYMTAB + * fix finsh problems of using sym table + +## CPU + +* arm + * add dsb and isb instructions in the end of rt_hw_context_switch_to + * fix compilation warning + * Add exception install function + * optimize the complier error + * fix armclang error when enable LTO + * fix rt_hw_cpu_dcache_ops clean invalid bug +* arm/Cortex-M33 + * Add Cortex M33 + * add macro ARCH_ARM_CORTEX_SECURE to makesure rtos system can run in the cpu safe mode +* arm/Cortex-R4 + * fix "prefethc abort" + * add RT_USING_CPU_FFS to avoid redefined error about "__rt_ffs()" +* risc-v/virt64 + * fix parameter for call handle_trap + +## Document + +* Fixed the description of logging usage in the Contributing code Guide +* Update English coding style for more idiomatic use +* Overhaul of document, fixing multiple grammar mistakes and editing for clarity +* Further edits of documentation for clarity +* correct the license description +* Fix the doxygen file +* update env document append some information about menuconfig -s +* handle the grammar and wording fixes in memory.md +* update at/adc/hwtimer/i2c/pin/rtc/sensor docs + +## Tools + +* Fix bugs for processing command line parameters +* CI + * update action use python@v3 + * add nxp check + * update stm32 ci checking list + * restrict rt-thread organization +* Copyright + * improve copyright for old files +* Scons + * sort the source file path + * Add Python 3 compatibility patch + * rtconfig.CROSS_TOOL->rtconfig.PLATFORM + * Decouple the addition of command line arguments + * support command: scons --target=xmake + * Add CMAKE_EXPORT_COMPILE_COMMANDS ON for cmake + * add new option for building library +* Readme.md add Deutsche and Spanish version +* update readme for languages choices +* append path for scons env +* Update the libs import for eclipse project +* modify the reorder problem for "include path" +* allow setting optional url for packages via envvar +* format python code +* remove .sconsign.dblite when scons clean + + + # RT-Thread v4.1.0 released Change log since v4.1.0 Beta released