1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bigmagic-dock_k210_rtt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ChangeLog.md 86 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 10:22 2feb536

RT-Thread v4.0.2 Change Log

Изменения в журнале с версии v4.0.1:

Ядро

  • Разделение автоматической инициализации компонентов на автоматическую инициализацию компонентов и основную функцию;
  • Добавление API спин-блокировки в режиме SMP;
  • Исправление проблемы с написанием RT_IDLE_HOOK;
  • Ожидание потока при заполнении очереди сообщений;
  • Устранение проблемы удаления mq в rt_mq_create в некоторых аномальных случаях;
  • Удаление ключевых слов C++ в функции rt_console_set_device;
  • Удаление члена suspend_thread_count из структуры memory_pool;
  • Решение проблемы, когда block = NULL в rt_mp_free;
  • Решение проблемы некорректной последовательности задач планирования, вызванной rt_thread_yeild в системном планировании;
  • Решение проблемы задержки обработки сигналов из-за позднего открытия прерывания;
  • При отключении SMP cpu.c по умолчанию не будет добавляться в проект;
  • Решение проблемы преждевременного включения прерывания rt_thread_exit в режиме SMP, что может привести к удалению задачи другими ядрами и вызвать проблемы в последующих стеках функций;
  • Защита критических областей при изменении статуса потока rt_thread_delete.

Компоненты

  • Решение проблемы размера mPool в C++ / Queue;
  • Добавление статуса ошибки в C++ / Thread task join/wait function;
  • Устранение предупреждений компиляции в DFS/ELM FatFS;
  • Поддержка Linux NFS Server в DFS/NFS;
  • Решение проблем mkfs в DFS/UFFS;
  • Добавление ftruncate, flock, getuid, umask APIs;
  • Решение проблемы отображения fd со смещением в команде list_fd;
  • Добавление API dfs_mount_device для монтирования файловой системы на устройстве, уже находящемся в mount_table;
  • Переименование ключевых слов C++ в функции DFS/rename;
  • Подключение dfs/poll, select с RT_USING_POSIX в Kconfig;
  • Оптимизация части кода finsh для упрощения;
  • Использование функции rt_hw_console_getchar() при неиспользовании RT_USING_DEVICE, которая проста в реализации и не использует фреймворк устройства;
  • Увеличение длины строки в оболочке finsh более 256 символов;
  • utest поддерживает компилятор clang и компилятор C++;
  • Решение возможных проблем с границами в ulog;
  • Устранение предупреждения компиляции в ulog/ulog_console_backend_output;
  • Поддержка функции отправки и получения файлов в YModem;
  • Вычисление CRC16 без таблицы поиска для уменьшения размера кода в компоненте YModem;
  • Решение проблемы неправильного освобождения стека во время pthread/destory;
  • Решение возможной проблемы утечек памяти, вызванной аномальным случаем pthread_create;
  • Перенос связанных с таймером API под разные компиляторы libc в папку libc\compilers\common;
  • Устранение избыточных определений в dlib/sys/unistd.h (что вызовет предупреждения компилятора);
  • Добавление заголовочных файлов sys/errno.h иsys/signal.h в dlib;
  • Freemodbus больше не является частью ядра и выделен как отдельный пакет программного обеспечения;
  • Обновление AT socket до v1.3.0:
    • Поддержка многоклиентских и многоустройственных функций в AT Socket, улучшение обработки грязных данных при перезагрузке аппаратного модуля AT устройства;
    • Поддержка netdev сетевой карты, управление и контроль сетевого соединения AT устройства через интерфейс сетевой карты;
  • Улучшение поддержки функций AT Server в AT компонентах, добавление интерфейсов отправки и приёма данных AT Server at_server_send () и at_server_recv ();
  • Решение проблемы closesocket() в SAL компоненте при неудачном закрытии сокета после shutdown();
  • Улучшение функции привязки сетевой карты sal_bind () в SAL компоненте;
  • Добавление поддержки конфигурации и функций, связанных с IPV6, в SAL и netdev;
  • Улучшение обработки ошибок и отображения журнала команды ping в netdev;
  • Добавление параметров конфигурации имени хоста и функций в компонент lwIP;
  • Решение проблемы утверждения sys_arch_mbox_fetch() в lwIP, которая может возникнуть при закрытии сокета;
  • Добавление функции удаления сетевой карты и поддержка функции остановки службы dhcpd в компонент lwip;
  • Решение проблемы сбоя компиляции компонента lwIP из-за закрытия компонента FinSH;
  • Решение проблемы незакрытия сокета во время задачи DHCPD в сервере DHCP lwIP;
  • Добавление интерфейса dhcpd_stop().

Изменения в журнале для драйвера устройства. Фреймворк:

  • Рефакторинг фреймворка аудиодрайвера.
  • Устранение проблемы, из-за которой длина приёма равна 0 в CAN, и проблемы с возвратом неправильных значений.
  • Добавление фреймворков драйверов аппаратного шифрования и дешифрования.
  • Решение проблемы обработки флагов в функциях rt_i2c_master_send/rt_i2c_master_recv.
  • Создание фреймворков для драйверов ввода данных и кодирования импульсов.
  • Исправление проблемы удаления блокировки раздела при выполнении функции rt_mmcsd_blk_remove.
  • Урегулирование проблемы превышения диапазона данных при перечислении ёмкости карты большой ёмкости в MMC/SD.
  • При инициализации устройства SDIO можно использовать информацию в CIS для определения производителя и продукта функции.
  • Улучшение обработки режима прерывания в сенсорном фреймворке и устранение проблемы невыпуска памяти при регистрации датчика.
  • Предоставление дополнительной информации в командной строке сенсорного фреймворка.
  • Проверка размера буфера RX в рамках последовательного порта и уведомление о заполнении буфера RX.
  • Замена старого драйвера Nor SPI Flash на компонент SFUD.
  • Устранение проблем с обработкой ошибок в возвращаемом значении SFUD.
  • Определение поддержки устройств W25Q64DW в SFUD.
  • Устранение сбоя создания FiFo при создании канала.
  • Предотвращение преждевременного освобождения RBB в функции rt_rbb_destroy().
  • Переименование нового ключевого слова C++ в функции rt_rbb_blk_alloc.
  • Унификация структуры struct rt_delayed_work в рабочей очереди до структуры struct rt_work.
  • Добавление сенсорного драйвера.
  • Добавление USB Audio класса.
  • Устранение неполадок с подключением/отключением RNDIS в стеке USB-устройств.
  • Добавление функции обратного вызова интерфейса в стек USB-устройств.
  • Совершенствование фреймворка wlan, включая функции командной строки, обработку имени AP, длины пароля, поддержку netdev, улучшенную настраиваемость и т. д.

BSP и перенос процессора

  • Поддержка компилятора Clang в переносе ARM-совместимого процессора.
  • Устранение проблемы определения SCB_AIRCR в ARM Cortex-M0.
  • Перенос ARM Cortex-M33.
  • Реализация операций DMB/DSB для операций кэширования в переносе ARM Cortex-A.
  • Обеспечение поддержки FPU в переносе ARM Cortex-A.
  • Реорганизация переноса MIPS. Перенос XBurst перемещён в X1000 BSP.
  • Объединение переноса процессоров loongson 1B и 1C в один перенос GS232.
  • Поддержка переноса процессора RISC-V Hummingbird.
  • Операция выхода из контекста переключения режимов risc-v принудительно возвращается в машинный режим.
  • Устранение проблемы прерываний во время переноса TI C28x DSP.
  • Добавление реализации _ffs в перенос TI C28x DSP.
  • Унификация разделов .data и .bss до выравнивания по 8 байтам в цепочке инструментов GCC.
  • Перенос es32f0334 BSP в bsp/essemi/es32f0334.
  • Добавление BSP bsp/essemi/es8p508x, включая драйверы UART и GPIO.
  • Добавление GD32VF103V-EVAL (RISC-V MCU) BSP, включая драйвер UART.
  • Изменение порядка BSP NXP i.MXRT и добавление соответствующих документов BSP.
  • Добавление ATK Commander, Fire Pro и EVK BSP для новых BSP i.MXRT.
  • Добавление BSP для серии NXP LPC55S6X и увеличение поддержки официальной платы разработки NXP LPC55S69-EVK.
  • Устранение ошибки операции I2C (master_xfer) в BSP LPC54114-lite.
  • Добавление аудиодрайвера в BSP LPC54114-lite.
  • Обновление BSP Loongson 1B и использование автоматической инициализации компонентов по умолчанию.
  • Добавление конфигурации Kconfig для BSP Loongson 1B.
  • Имитация RT-Thread/MIPS без оборудования MIPS с помощью QEMU/mipssim BSP.
  • Рефакторинг аудиодрайвера qemu-vexpress-a9 и устранение проблемы точности тиков ОС.
  • Добавление драйвера LPUART в VEGA BSP RV32M1.
  • Удаление старых BSP STM32: stm32f4xx-HAL, stm32f10x, stm32f10x-HAL, stm32f429-apollo, stm32f429-disco, stm32h743-nucleo.
  • Устранение проблемы rt_hw_sci_init() для открытия глобального прерывания в BSP tms320f28379d.
  • Поддержка программного I2C и модуля аппаратного шифрования в WinnerMicro W60x BSP (AES/DES/3DES/RC/SHA1/MD3/CRC).
  • Поддержка однократной настройки WiFi в WinnerMicro W60x BSP.
  • Дополнительные BSP на основе новой структуры BSP STM32:
    • stm32f072-st-nucleo
    • stm32f103-gizwits-gokitv21
    • stm32f103-yf-ufun
    • stm32f412-st-nucleo
    • stm32f427-robomaster-a
    • stm32f429-st-disco
    • stm32f769-st-disco stm32g431-st-nucleo
  • stm32h743-st-nucleo
  • stm32h750-armfly-h7-tool
  • stm32l4r5-st-nucleo
  • stm32l452-st-nucleo

Для новой структуры BSP STM32:

  • добавить поддержку DMAMUX в stm32l4+;
  • обновить SConscript библиотеки HAL F7;
  • открыть конфигурацию порта SWD на cubemx в BSP stm32f103-atk-warshipv3;
  • добавить поддержку SD-карты в BSP stm32f427-robomaster-a;
  • добавить драйвер USBFS в BSP stm32f412-nucleo;
  • удалить использование пользовательских данных устройства в драйвере UART;
  • добавить поддержку QSPI FLASH в BSP stm32h743-atk-apollo;
  • оптимизировать драйвер Ethernet;
  • добавить драйверы аппаратного шифрования и дешифрования;
  • добавить драйвер MIPI LCD;
  • добавить драйвер импульсного кодирования;
  • оптимизировать драйвер аппаратного таймера;
  • добавить поддержку UART 7/8 в последовательном драйвере;
  • оптимизировать WDT-драйвер.

Инструменты

  • Оптимизировать скрипт scons для eclipse, чтобы лучше генерировать проект eclipse.
  • Улучшить генератор rtconfig.h, правильно генерировать конфигурацию типа PATH.
  • Исправить проблему обнаружения пути gcc при использовании стандартного кросс-инструментария Linux-дистрибутива.

RT-Thread v4.0.1 Change Log

Ядро

  • исправить проблему с предупреждением компиляции rt_tick_from_millisecond();
  • убрать ненужный код, который несколько раз отключает прерывания во время инициализации запуска;
  • исправить ситуацию, когда системный объект не отсоединяется при обработке несуществующих потоков;
  • ограничить максимальное значение семафора до 65535;
  • решить проблему 64-битной версии в kservice.c;
  • проверить и подтвердить повторную инициализацию объекта;
  • в функциях rt_enter_critical/rt_exit_critical проверить, запущен ли планировщик;
  • устранить проблемы с сигналами под SMP и проблемы со списком информации о сигналах в signal;
  • включить поддержку 64-разрядных процессоров в распределении памяти slab;
  • определить ENOTSUP в libc_errno.h;
  • упростить rtdbg.h и использовать ulog для упрощения использования системы журналов/отладки;
  • настроить RT_USING_ARCH_DATA_TYPE, rt_int8_t/.../rt_uint32_t и другие базовые типы данных могут быть определены самим BSP (рекомендуется поместить их в файл rtconfig_project.h, чтобы этот файл автоматически включался в rtconfig.h при генерации menuconfig);
  • добавить тип устройств RT_Device_Class_Sensor;
  • для одноядерных систем определение rt_hw_spin_lock/rt_hw_spin_unlock переопределяется как отключение/включение прерываний;
  • добавить функцию rt_strnlen() в kservice.c.
  • поддерживать тип long long в rt_kprintf (HubertXie).

Компоненты

  • Удалить CMSIS и перенести в программный пакет как пакет CMSIS;
  • удалить компонент logtrace. Система логирования переключается на ulog;
  • добавить больше кода для поддержки цепочки инструментов AC6 в некоторых BSP и компонентах;
  • В компоненте файловой системы DFS очистить журнал и исправить ошибку mkfs, когда индекс может выходить за пределы диапазона;
  • разделить режим работы из спящего режима в управлении питанием, и изменение частоты должно быть более чётким. Управление питанием не использует idle hook, а выполняет действие сна непосредственно в потоке ожидания (как использовать управление питанием, пожалуйста, посетите документ по программированию для получения подробной информации);
  • очистить журнал MMC/SD-фреймворка драйвера;
  • переписать Sensor Framework, заменить оригинальную реализацию C++ версией C и добавить соответствующие пакеты программного обеспечения для датчиков;
  • добавить операцию передачи DMA в рамках последовательного драйвера;
  • добавить защиту целостности к процедуре tc_flush последовательного драйвера (loogg);
  • добавить API rt_sfud_flash_find_by_dev_name в SFUD;
  • когда устройство Pipe закрыто, если это безымянное устройство Pipe и счётчик открытия равен нулю, это устройство Pipe будет удалено;
  • добавлена реализация отложенной работы в workqueue, и рабочая очередь системы добавлена в качестве опции;
  • исправить потерю данных при передаче DMA через USB CDC;
  • изменить тип возвращаемого значения finsh_getchar на int;
  • исправить ошибку errno в цепочке инструментов newlib/GCC;
  • изменить управление pthreads на массив POSIX-потоков вместо прямого сопоставления pthread_t с rt_thread_t; изменить определение полей, более похожее на newlib/glibc в... Птозс.
  • Исправить вывод имени потока в журнале ulog.
  • Добавить параметр цикла в utest, затем многократно выполнять тестовые случаи; добавить параметр потока в utest для выполнения тестового случая в новом потоке.
  • Увеличить задержку на этапе квитирования, чтобы защитить приём неполных данных в компоненте YModem.
  • Добавить компонент netdev, абстрактное понятие netdev используется для управления и контроля устройства сетевого интерфейса, а также предоставить команды управления netdev, включая ping/ifconfig/dns/netstat и т. д.
  • Изменить SAL для netdev, то есть добавить оценку состояния и информации netdev при создании сокета и передаче данных.
  • Добавить параметры и типы для обработки многоадресного трафика UDP и IPPROTO_IP в SAL.
  • Устранить проблемы с функцией itctrol() в SAL, которые не поддерживают управление socketfd.
  • Улучшить обработку журнала ошибок в AT-сокете.
  • Решить проблему сбоя приёма последовательных данных, когда инициализация клиента AT не завершена.

BSP.

  • Добавить BSP чипа ES32 от Shanghai Eastsoft Microelectronics Co., Ltd. (EastSoft обеспечивает обслуживание и поддержку).

  • Добавить GD32E230K-start с ядром ARM Cortex-M23 BSP (xuzhuoyi).

  • Добавить IMXRT1021-EVK BSP (NXP обеспечивает обслуживание и поддержку).

  • Включить опцию аппаратной контрольной суммы ETH в драйвере IMXRT1052 ETH.

  • Добавить больше периферийных драйверов, таких как GPIO, LCD, SPI, камера и т.д., в BSP Kendryte K210.

  • Очистить BSP LPC 4088, использовать функцию main для входа и поддерживать menuconfig.

  • Добавить LPC1114 BSP с драйвером UART (SASANO Takayoshi, Япония).

  • В BSP Godson 1C добавить механизм двойного буфера кадров и драйвер сенсорного экрана, что позволяет лучше поддерживать интерфейс Persimmon UI (sundm75).

  • Добавить драйвер сторожевого таймера в BSP Godson 1C (sundm75).

  • Добавить MM32 BSP от Shanghai MindMotion Microelectronics Co., Ltd. (MindMotion обеспечивает обслуживание и поддержку).

  • Решить проблемы обработки прерываний SysTick в nRF52832 и добавить файл конфигурации menuconfig.

  • Добавить драйверы QSPI и SPI flash в Nuvoton M487 BSP (bluebear 233).

  • Переместить порт CPU в libcpu/arm/cortex-a папку в QEMU-VExpress A9/IMX6UL BSP.

  • Использовать MAC-адрес, связанный с локальным MAC-адресом, в качестве унифицированного MAC-адреса в сети в BSP QEMU-VExpress A9.

  • Удалить BSP stm32f0x, stm32f7-disco, stm32f107, stm32f40x, stm32l072, stm32l475-iot-disco и stm32l476-nucleo (когда новый STM32 BSP может полностью заменить эти старые BSP, они будут удалены).

  • Для нового STM32 BSP:

    • Добавить CAN-драйвер (ylz0923).
    • Добавить CAN-драйвер в stm32f103-fire-arbitrary (ylz0923).
    • Добавить STM32F746-ST-DISCO с LCD, сторожевым таймером, SDCard, Ethernet, Flash и другими драйверами (Jinsheng).
  • Больше поддержки плат добавлено в новый STM32 BSP:

    • STM32F103-ATK-Warship V3 ATK Warship V3 (daizhiwang).
    • STm32f103-dofly-M3S Dofly STM32F103 Development Board.
    • STM32F103-mini-system, минимальная системная плата для STM32F103 (daizhiwang).
    • STM32F401-ST-Nucleo.
    • STM32F405-SMDZ-Breadfruit Sanmu Electronic STM32405 Development Board (sunlichao).
    • STM32F469-ST-Disco.
    • STM32H743-ATK-Apollo (whj4674672).
    • STM32L4R9-ST-Eval.
    • STM32L053-ST-Nucleo (sun_shine).
    • STM32L475-ST-Discovery.
    • STM32L476-ST-Nucleo (Vincent-VG).
    • STM32L496-ALI-Developer.
  • Добавить поддержку ARC для Synopsys Design Ware ARC EM Starter Kit (Synopsys обеспечивает обслуживание и поддержку).

  • Добавить SCI-драйвер к TMS320F28379D BSP (xuzuoyi).

  • Добавить чип W60X Wi-Fi SoC BSP от Winner Microelectronics Co.,Ltd. (Winner Micro и RealThread обеспечивают обслуживание и поддержку).

  • Решить проблему конфигурации ввода-вывода UART2 в X1000 UART-драйвере (Zhou Yanjie).

  • Добавить файл SConscript для каждого порта CPU.

  • Очистить код libcpu/arm/cortex-a.

  • Разделить _rt_hw_context_switch_interrupt/_rt_hw_context_switch в TI DSP TMS320F28379D BSP (xuzuoyi).

Инструмент.

  • Добавить функцию генерации Makefile в scons с помощью команды scons –target=makefile -s. Затем разработчик может использовать make для сборки RT-Thread под Linux или Windows.
  • Добавить функцию создания проекта Eclipse в scons с помощью команды scons –target=eclipse -s, которая поместит необходимую информацию в файлы .cproject и .project в текущей папке BSP. Разработчик может использовать Eclipse для сборки RT-Thread.
  • Решить проблему с несколькими группами с одинаковыми именами. issue when generating Keil MDK project file and add a library file into the SConscript (Eric Qiang);
  • Fix the GCC Version Comparing issue
  • ENV version updated to v1.1.2
    • Update scons version to 3.0.5
    • Fix VC++ warning issue
    • Fix Unicode error issue

RT-Thread v4.0.0 Change Log

Kernel

  • Добавить поддержку SMP;
  • Добавить поддержку 64-битных процессоров;
  • Когда поток выполняется на CPU, состояние этого потока изменяется на состояние RUNNING вместо состояния READY в предыдущей версии;

Components

  • При форматировании файловой системы добавляется опция FM_SFD для создания тома в формате SFD для FatFs; (HubretXie)
  • Добавить указатель дескриптора файловой системы в структуре struct dfs_fd;
  • Исправить проблему с fd stdio при использовании POSIX api; (gbcwbz)
  • Исправить проблему fd_is_open(): когда подпуть совпадает в разных смонтированных файловых системах.
  • Изменить критическую блокировку/разблокировку на dfs_lock/unlock в функции getcwd() DFS (критическая блокировка/разблокировка отличается в среде SMP);
  • Переписать реализацию list_thread/list_* команды finsh, чтобы избежать конкуренции многоядерных процессоров;
  • Устранить проблему aio_result, возвращаемую aio_read_work в AIO; (fullhan)
  • Устранить проблему mmap, когда параметр addr равен NULL; (fullhan)
  • Модифицировать функцию _sys_istty в armlibc, чтобы правильно обрабатывать STDIN/STDOUT/STDERR; (gbcwbz)
  • Модифицировать функцию _write_r в newlib, чтобы корректно обрабатывать stdout.
  • Добавить облегчённые процессы (lwP) и соответствующие системные вызовы;
    • пользовательская среда lwP будет добавлена позже;
  • Устранить проблему at_socket, когда сокет является нулевым указателем; (thomas onegd)
  • Устранить проблему выбора события в функции at_recvfrom() в at_socket;
  • Разделить SAL на sal_socket_ops/sal_proto_ops, и sal_proto_ops реализуется с помощью gethostbyname/getaddrinfo и т. д.
  • Добавить уровень TLS сокета в SAL, то есть верхнее приложение может поддерживаться зашифрованной передачей без учёта низкоуровневого TLS вообще.
  • Устранить проблему длины ulog_strcpy, которая не должна превышать ULOG_LINE_BUF_SIZE;
  • Добавить определение макроса шестнадцатеричного вывода журнала в ulog; (HubretXie)
  • Добавить компонент uTest. uTest — это среда модульного тестирования на RT-Thread, которую также можно использовать для автоматического тестирования на плате с внешними скриптами Python.
  • Устранить некоторые предупреждения компиляции и несоответствия перечислений в драйверах/аудио;
  • Устранить проблемы can_rx/can_tx, которые не очищаются до NULL при закрытии устройства CAN в драйверах/can; (xeonxu)
  • Устранить драйверы/hwtimer, проблему получения времени с режимом обратного отсчёта;
  • Добавить драйвер ADC;
  • Устранить проблему компенсации тиков при слишком раннем включении прерывания; (geniusgogo)
  • Добавить опцию RT_SERIAL_USING_DMA в драйверах/serial;
  • Включить поддержку QSPI в драйверах/spi framework;
  • Включить поддержку QSPI в SFUD (на основе периферийного устройства QSPI stm32); SFUD обновлён до версии 1.1.0;
  • Оптимизировать SPI take/release в spi_msd;
  • Устранить проблему blk_size в rt_rbb_blk_alloc();
  • Устранить проблему USB FS в функции _get_descriptor;
  • Устранить проблему пустого пароля в режиме AP драйверов/wlan;
  • Устранить несоответствие типов возврата в драйверах/wlan;
  • Удалить дублирующуюся проверку открытия файла при открытии файла;

BSP

  • Заменить имя параметра на cosnt char * в функции rt_hw_interrupt_install; (liruncong)
  • Переписать слой портирования RISC-V, чтобы сделать его общим и автономным слоем портирования для RISC-V IMAC 32/64;
  • Устранить предупреждение $ в файлах Kconfig каждого BSP;
  • Добавить LPC54114-lite BSP, включая GPIO, I2C, SDCard, SPI, драйвер SPI Flash, UART;
  • Добавить Nuvoton-M487 BSP, включая драйвер UART, EMAC; (Bluebear 233)
  • Добавить BSP Kendryte K210 с RISC-V64 двухъядерным SMP BSP, включая драйвер UART, также проверенный с micropython;
  • Добавить RV32M1 VEGA BSP, включая GPIO, I2C, SDCard, UART и другие драйверы;
  • Устранить проблему драйвера CAN в STM32F4XX-HAL BSP; (xeonxu)
  • Устранить проблему настроек DMA UART в STM32F10x/STM32F40x BSP; (zhouchuanfu)
  • Устранить проблему определения HEAP_BEGIN в STM32H743-Nucleo BSP; (nongxiaoming)
  • Устранить проблему конфигурации GPIO в stm32f10x-HAL; (Wu Han)
  • Изменить BSP stm32f107 в качестве основной функции входа; (whj4674672)
  • Устранить последовательный порт. Проблема обработки прерываний в BSP STM32F10x;
  • Добавить драйверы ШИМ, RTC и сторожевого таймера в BSP stm32f10x-HAL; (XXXXzzzz000)
  • Исправить проблему с драйвером сторожевого таймера в BSP stm32f4xx-HAL; (XXXXzzzz000);
  • Использовать lwIP версии 2.x в BSP для stm32f40x/stm32f107;
  • Устранить проблему со ссылкой при включении пакета cmBacktrace в BSP stm32f4xx-HAL; (xeonxu);
  • Поддержка функций аудио и микрофонов в BSP apollo для stm32f429;
  • Включить поддержку dlmodule в x86 BSP; (SASANO Takayoshi);
  • Добавить раздел uTest в скрипт компоновки qemu-vexpress-a9/stm32f429-atk-apollo BSP для автоматического тестирования;
  • Изменить лицензию на Apache License v2.0 в BSP Godson 1C; (sundm75);
  • Добавить новый фреймворк BSP для последовательного чипа STM32, такого как STM32 G0/F0/L0/F1/F4/F7/H7. В новом фреймворке BSP повторно используются драйверы SoC. И в то же время новый фреймворк поддерживает множество плат STM32:
    • Плата разработки Nucleo для STM32F091;
    • Плата разработки Nucleo для STM32F411;
    • Плата разработки Nucleo для STM32L432;
    • Плата Discovery для STM32F407;
    • Плата Nucleo для STM32F446;
    • Плата Discovery для STM32F746;
    • Плата Nucleo для STM32F767;
    • Плата Nucleo для STM32G071;
    • Плата Nano для разработки ATK STM32F103;
    • Плата Explorer для разработки ATK STM32F407;
    • Плата Apollo для разработки ATK STM32F429;
    • Плата Apollo для разработки ATK STM32F767;
    • Плата Pandora IoT для разработки ATK STM32L475;
    • Плата произвольной разработки Fire STM32F103;
    • Плата Challenger для разработки Fire STM32F429;
    • Плата Challenger для разработки Fire STM32F767;
    • ArmFly STM32F429-v6 Development Board BSP;
    • iBox для разработки STM32F103;
    • Dofly STM32F103 Development Board;
    • uC/Eval Development Board для STM32F107;

и другие, в разработке BSP фреймворка для STM32 участвует больше разработчиков, таких как HubretXie, Hao Zhu, e190 и другие, чтобы улучшить публичный драйвер STM32;

  • Добавить SWM320 BSP от Synwit.cn, включая GPIO, HW Timer, I2C, сторожевой таймер, ШИМ, RTC, SPI, UART и т. д.; (предоставлено и поддерживается Synwit);
  • Добавить TI TMS320F28379D BSP, первый DSP-чип, поддерживаемый RT-Thread; (xuzhuoyi);
  • Исправить проблему драйвера USB в X1000; (Zhou YanJie);
  • Добавить BSP для Synopsys Design Ware ARC EM Starter Kit, bsp/synopsys/emsk_em9d, EM9D core, включая GPIO, UART и другие драйверы; (предоставлен и поддерживается Synopsys).

Инструмент

  • Предоставить больше информации, когда цепочка инструментов не существует;
  • Добавить команду генерации проекта Segger Embedded Studio; обратите внимание, что цепочка инструментов в SES — это специальная версия, а не newlib;
  • Исправить проблемы с командой связывания библиотеки IAR при использовании командной строки scons;
  • Исправить проблему пути BSP в scons str(Dir('#'));
  • Добавить scons --pyconfig-silent для добавления некоторых конфигураций Kconfig и для генерации файлов .config и rtconfig.h;
  • Обновить команду scons --dist для адаптации к новому фреймворку BSP;
  • Модифицировать скрипт mkromfs.py. Исправить соответствующий код C при генерации, если romfs содержит пустые файлы или пустые папки;
  • Исправить проблему сравнения строк версий GNU GCC в utils.py;
  • ENV обновлен до V1.1.0
    • Предоставлять более информативные подсказки для улучшения взаимодействия с пользователем;
    • Добавить путь system32 к переменным среды, чтобы избежать невозможности найти команду cmd;
    • Добавить переменную PYTHONHOME в переменные среды, чтобы избежать проблем с окружением PYTHON.

RT-Thread v3.1.1 Change Log

Ядро

  • Поддерживать конфигурацию роста стека вверх, который определяется макросом ARCH_CPU_STACK_GROWS_UPWARD. Поскольку архитектур процессоров со стеком, растущим вверх, меньше, этот элемент конфигурации не отображается непосредственно в menuconfig. Когда архитектуре процессора требуется стек, растущий вверх, конфигурация ARCH_CPU_STACK_GROWS_UPWARD может быть выбрана файлом Kconfig BSP по умолчанию.
  • Поддержка ARMCC V6 и более поздних компиляторов (LLVM-based Compiler); в настоящее время он в основном используется в Keil MDK IDE. Обратите внимание, что «Предупреждения» должны использовать Moderate Warnings в конфигурации проекта в C/C++ (AC6) TAB; после этого... Использование ARMCC версии 6, RT-Thread добавит дополнительное определение макроса CLANG_ARM; (liruncong, nongxiaoming, bernard)
  • Конфигурация RT_USING_IDLE_HOOK в Kconfig становится отдельным элементом конфигурации, не ограничиваясь RT_USING_HOOK; (geniusgogo)

Компоненты

  • Улучшение структуры драйвера ШИМ и добавление дополнительных интерфейсов.
  • Исправление проблемы с обработкой F_SETFL в функции ioctrl; исправление проблемы с возвращаемым значением функции fcntl, которое всегда равно 0.
  • Устранение проблемы с типом объекта memheap при создании объекта ramfs.
  • Добавление структуры управления питанием для приложений с низким энергопотреблением.
  • Поддержка многосегментных операций чтения и записи в структуре драйвера MC/SDIO (для stm32 можно выбрать отдельный пакет stm32_sdio); (weety)
  • Добавление компонента ringblk_buf для блочного режима, но в приложениях кольцевого буфера.
  • Улучшение структуры управления WLAN с унифицированными интерфейсами, управлением, командами для обеспечения более удобной поддержки разработчиков и пользователей.
  • Добавление условного макроса в finsh, когда компонент MSH не включён, даже если файлы кода скомпилированы.
  • Удаление gdbstub и перемещение в пакеты rt-thread.
  • Обновление и улучшение компонентов SAL и AT: (linuxhan, eddylin83, slyant, luofanlu, Hubert Xie, Lawlieta, zhaojuntao, armink)
    • Устранение проблемы с очисткой сокета при закрытии в SAL, из-за которой сокет всегда удерживается.
    • Исправление проблемы select() для UDP-коммуникации в компоненте AT. Добавление обработки полученных данных для завершения очистки полученного события.
    • Добавление значения errno при тайм-ауте получения данных в функции at_recvfrom в компоненте AT.
    • Обработка тайм-аута получения данных в функции at_client_recv в компоненте AT.
  • Устранение возможной проблемы в реализации функции fputc при использовании microlib.
  • Реализация gmtime_r для ARMCC, инструментальной цепочки IAR.
  • Улучшенная поддержка функций времени в IAR и поддержка 64-битного времени; (hichard)
  • Поддержка DHCPD для IPv6.
  • Исключение портирования lwIP-1.3.2 и включение портирования lwIP-2.1.0; lwIP-2.0.2 остаётся версией по умолчанию.
  • Добавление облегчённого компонента ulog и автоматическое замещение отладочного макроса исходного rtdbg.h при его включении.
  • Обновление стека USB:
    • HOST: оптимизация механизма тайм-аутов USB HOST; устранение проблемы с несогласованным посещением в драйвере F4xx-HAL USB host.
    • Устройство: проверка незаконного регистрирования драйверов классов; устранение проблемы несогласованного доступа на некоторых платформах; оптимизация классов CDC VCOM, добавление механизма тайм-аутов и определения ID.

BSP

  • Обновление адаптера wlan до новой версии структуры управления Wi-Fi в BSP amebaz.
  • Включение кода конфигурации airkiss wifi в BSP amebaz.
  • Обновление Apollo2 BSP с драйверами ADC, GPIO, I2C, PDM, SPI, UART и другими; (Haleyl)
  • Изменение BeagleBone BSP на режим основной функции и добавление файла конфигурации Kconfig.
  • DM365 BSP добавляет файл конфигурации Kconfig;
  • Обновление HiFive1 BSP и добавление дополнительной документации.
  • Обновление imx6sx BSP до режима основной функции и добавление файла конфигурации Kconfig.
  • Замена старого imxrt1052-evk BSP. BSP imxrt1052 классифицируются в каталог bsp/imxrt, а позже будут перемещены в каталог components/drivers.
  • Улучшение BSP stm32f4xx-HAL с драйверами PWM, I2C и USB Host; (XuanZe, xuzhuoyi)
  • Улучшение BSP stm32f10x с драйвером CAN и увеличение драйвера I2C; (wuhanstudio, AubrCool)
  • Улучшение BSP stm32f10x-HAL с драйверами I2C, IWG, PWM, RTC и другими, улучшение драйвера UART; (XuanZe)
  • Улучшение BSP stm32f429-disco и добавление драйверов I2C, LCD, Touch; (xuzhuoyi)
  • Улучшение x86 BSP, поддержка функции dlmodule; (SASANO Takayoshi, parai)

Tool

  • Модификация скрипта сборки для поддержки Python 3; <патчи Python 3 были отправлены в scons и требуют ожидания следующего выпуска scons, возможно, scons-3.0.2> (Arda)

  • Добавление режима scons --pyconfig, который имеет конфигуратор TK UI; (weety)

  • Поддержка инструментальных цепочек GNU GCC 7/8 (флаг -std=c99 не добавлен в флаги C-компилятора), но обратите внимание: компонент PThreads не работает в версии 2.5 и новой версии newlib. Проверка типа объекта ядра, которая позволяет эффективно избежать проблемы продолжения использования объектов ядра после их уничтожения.

  • Добавить список ловушек простоя для монтирования нескольких ловушек простоя, и можно настроить с помощью Kconfig.

  • Добавить набор операций device_ops для уменьшения объёма занимаемой памяти объектом устройства.

  • Удалить специальную операцию с памятью в прикладном модуле при использовании алгоритма управления памятью SLAB.

  • Переместить прикладной модуль из ядра в libc/libdl.

  • Улучшить вывод отладочной информации файла rtdbg.h.

  • В цепочке инструментов Keil/IAR используется RT_USED для сохранения символов и избежания добавления дополнительных аргументов или разделов во фразе компоновки.

Компоненты

  • Удалить все внешние коды, которые будут перемещены в пакеты в будущем.
  • Добавить флаг инициализации для оболочки, файловой системы, сетевого протокола и т. д., чтобы предотвратить повторную инициализацию;
  • Включить функцию длинных имён файлов ELM FatFs по умолчанию.
  • Изменить DFS FD на режим динамического выделения. Максимальное количество выделений по-прежнему DFS_FD_MAX.
  • Добавить функцию dfs_fdtable_get() для получения различных fdtable;
  • Добавить больше сообщений об ошибках DFS и предоставить понятный журнал при возникновении аномалий.
  • Исправить проблему форматирования диска файловой системы FatFs при монтировании нескольких файловых систем FatFs.
  • Убрать функцию входа в папку в msh при вводе имени папки;
  • Добавить процедуру int finsh_set_prompt (const char * prompt) для установки пользовательского приглашения для msh;
  • Добавить конфигурацию VBUS в Kconfig.
  • Переместить прикладной модуль из ядра в компонент libc/libdl;
  • Переписать большую часть кода управления для прикладного модуля: заменить исходный контейнер объекта списком объектов; разделить код разрешения символов на разные архитектуры процессоров и т.д.
  • Обновить главу о прикладных модулях в руководстве по программированию и преобразовать её в главу о динамических модулях.
  • Заменить функцию exit() newlib, чтобы взять на себя обработку выхода для dlmodule.
  • Добавить компонент SAL (Socket Abstraction Layer) для адаптации различных стеков протоколов и сетевых реализаций и обновить соответствующие разделы руководства по программированию;
  • Добавить AT-компонент, включая AT-клиент, AT-сервер и AT-сокет;
  • Удалить API poll/select DFS_NET и переместить их в компонент SAL.
  • Уменьшить сильную зависимость компонента lwIP для DFS_NET и заменить его конфигурацией Kconfig в SAL.
  • Добавить функцию DHCP-сервера с необработанным API lwIP;
  • Исправить проблему инициализации очереди ожидания в распределении сокетов lwIP.
  • Когда поток собирается заблокироваться в очереди ожидания, исправить проблему пробуждения для выполнения rt_wqueue_wakeup, чтобы разбудить этот поток;
  • Добавить структуру драйвера ШИМ;
  • Исправить выпуск sdio_irq_wakeup в рамках MMC/SD.
  • Решить проблему обработки DMA в структуре последовательного драйвера.
  • Обновите SFUD до версии 1.0.6.

BSP

  • Исправление проблемы SP при возникновении жёсткой ошибки для архитектуры ARM Cortex-M;
  • Добавление портирования архитектуры C-Sky CK802;
  • Добавление BSP Realtek amebaz WiFi SOC (rtl8710bn);
  • Обновление SDK встроенного ПО imxrt1052-evk для поддержки чипа модели B.
  • Решение проблемы копирования пакетов в BSP Godson 1C при отправке сообщения.
  • Изменение BSP Nuvoton m05x/m451 на режим входа main() и поддержка компиляции GCC;
  • Решение проблемы несоответствия между диапазоном касания и разрешением ЖК-дисплея в qemu-vexpress-a9.
  • Добавление qemu-vexpress-gemini BSP для двухъядерной архитектуры A9 (RT-Thread + Linux);
  • Базовое портирование для Raspberry Pi 2B;
  • Добавление драйверов CAN и PWM в stm32f4xx-HAL BSP;
  • Оптимизация драйвера GPIO в stm32f4xx-HAL BSP;
  • Добавление драйвера UART3 в stm32f4xx-HAL BSP;
  • Решение проблемы с тактовым генератором I2C1 в драйвере stm32f10x BSP и интерфейсом управления WDG.
  • Добавление интерфейса rt_hw_us_delay в stm32f10x-HAL BSP;
  • Оптимизация драйвера GPIO в stm32f10x-HAL BSP;
  • Добавление драйвера GPIO и драйвера RTC в stm32f107 BSP.

Инструмент

  • ENV обновлен до финальной версии v1.0.0.
  • Добавлен китайский зеркальный сервер для пакета программного обеспечения ENV, что может ускорить загрузку, обновление и т. д. пакета программного обеспечения.
  • Исправлены известные ошибки ENV и улучшено взаимодействие с пользователями.
  • Добавлены скрипты сборки для определения версии GCC и newlib.
  • Добавлены сценарии сборки для... Обнаружение версии armcc;
  • Добавить функцию scons --dist для создания дистрибутива для BSP.
  • Добавить функцию scons - dist - strip для создания минимальных файлов дистрибутива для BSP.
  • Добавить параметры ASFLAGS/LOCAL_ASFLAGS для определения группы и передачи их ассемблеру;
  • Исправить некоторые ошибки в скрипте сборки в среде Linux.
  • Создать проект генерации C-Sky CDK IDE.
  • Добавить scons --target=vsc -s для генерации дружественных конфигурационных файлов для VSCode;

RT-Thread 3.0.4 Change Log

Ядро

  • Изменить расположение вызова хука в rt_event_send, что позволяет лучше отражать значение события в представлении системы.
  • Исправить проблему с rt_realloc() в memheap;
  • Исправить проблему vstart_addr в динамической библиотеке.
  • Обеспечить более стандартизированный сигнал и удалить члены si_errno из siginfo_t;
  • Добавить API rt_thread_mdelay() для задержки в миллисекундах в потоке.

Компоненты

  • Исправить проблему DFS mkfs FatFs (проблема слияния, появившаяся при обновлении RT-Thread V3.0).
  • Исправить проблему dfs_net poll, если уже получены данные, верхний уровень не может проснуться и обработать данные.
  • Исправить проблему сокета в dfs_net, если lwip_socket не удалось (Bluebear233);
  • Если функция dfs_net/socket используется в версии lwIP 1.x, будет возвращена ошибка компилятора.
  • Исправить проблему информации DFS df();
  • Исправить проблему записи аудиоустройства, когда прерывание не восстанавливается должным образом.
  • Исправить проблему однократного тайм-аута в структуре драйвера аппаратного таймера.
  • В драйвере ENC28J60 включить «изменение состояния соединения» в инициализации.
  • Исправить проблему данных при помещении данных в кольцевой буфер.
  • Добавить отображение информации UDP в команде netstat;
  • Исправить проблему USB HS при отправке 1 байта данных, приводящую к двум передачам.
  • Изменить механизм регистрации USB Class Driver, и класс Driver можно зарегистрировать в пакете.
  • Добавить структуру драйвера устройства USB для HS USB.
  • Улучшить совместимость функции time() для разных компиляторов;
  • Добавить больше элементов конфигурации для DHCPD в menuconfig.

BSP

  • Временно удалить трансплантацию Andes AE210P из-за ошибочного использования SVC для переключения контекста.
  • Добавить диск SD/MMC во все BSP на базе ARM9 от Allwinner.
  • Добавить драйверы SPI и SPI Flash в BSP Allwinner ARM9.
  • Поддержка платы разработки GD32's gd32303e-eval.
  • Поддержка компиляции GNU GCC на gd32450z-eval.
  • Переписать пакет поддержки уровня платы hifive1 для архитектуры risc-v.
  • О i.MX RT1052: завершена поддержка различных плат разработки: ATK, Fire, seeed studio.
  • На i.MX RT1052 добавить функции cache-ops.
  • На i.MX RT1052 добавить поддержку I2S-драйвера и WM8960-кодека.
  • Улучшение поддержки ETH-драйверов (включая поддержку Fire) на i.MX RT1052.
  • Поддержка драйверов аппаратных таймеров на i.MX RT1052.
  • На i.MX RT1052 добавить драйвер GPIO.
  • На i.MX RT1052 добавить драйвер RTC.
  • На i.MX RT1052 улучшить драйвер SD/MMC.
  • На i.MX RT1052 добавить драйверы SPI и SPI Flash (подключение к компоненту SFUD).
  • Драйвер USB-устройств на i.MX RT1052.
  • Добавить файлы README и KConfig в LPC408x BSP.
  • Добавить документы README в LPC5460x-LPCXpresso BSP.
  • Добавить драйвер контроллера дисплея (Sundm75) в Godson 1C BSP.
  • Добавить CAN-драйвер в Loongson 1C BSP(Sundm75).
  • В GPIO-драйвере Loongson 1C BSP добавить функцию внешнего прерывания (Zhuangwei).
  • Использовать автоматическую инициализацию SPI в Loongson 1C BSP.
  • Добавить I2C-драйвер в Loongson1C BSP (Sundm75).
  • Добавить резистивный сенсорный экран в Loongson 1C BSP (Sundm75).
  • Включить инициализацию компонентов и основную функцию в Loongson 1C BSP (Zhuangwei).
  • Самозагрузка в Loongson1C BSP (Zhuangwei).
  • Добавить файлы README в Loongson 1C BSP (Zhuangwei).
  • Устранить проблему с дескриптором rx в функции init_rx_desc в NUC472 BSP (Bluebear233).
  • AC97 Audio-драйвер в QEMU-VExpress-A9 BSP.
  • Описание файла README в QEMU-VExpress-A9.
  • I2C-драйвер в stm32f4xx-HAL BSP и описание файла README.
  • Cache-ops в stm32f7-disco BSP и описание файла README.
  • Файлы описания README в stm32f10x/stm32f10x-HAL.
  • Спецификация файлов README и файлы конфигурации KConfig в... stm32f40x BSP:
  • Добавить файл конфигурации KConfig в BSP для stm32f20x;
  • Включить поддержку инструментальной цепочки GNU GCC и добавить файл описания README в BSP для stm32f411-nucleo;
  • Добавить драйвер GPIO и файл описания README в BSP для stm32f429-apollo;
  • Добавить файлы конфигурации KConfig в BSP для stm32f429-armfly;
  • Добавить файл описания README в BSP для stm32l476-nucleo.

Инструменты:

  • Реализовать функцию обнаружения версии инструментальной цепочки GNU GCC и функции библиотеки libc.
  • Встроить функцию помощи редактора VSCode и поддерживать команду scons --target=vsc -s в папке BSP для генерации файлов конфигурации для VSCode.
  • Реализовать обнаружение версии IAR.
  • Внедрить функцию ProjectInfo (Env) для получения информации о цели: все исходные файлы должны быть скомпилированы, все заголовочные файлы, все определения макросов, пути поиска для заголовочного файла и т. д.

RT-Thread 3.0.3 Change Log

Ядро

  • Защита планировщика при очистке отсоединённого потока;
  • Исправление проблемы с object_find при включении функции модуля;
  • Улучшение поддержки POSIX и добавление функций rt_signal_wait и POSIX sigwait;
  • При включении оболочки finsh, файл заголовка rtthread.h включает файл API finsh. Таким образом, код приложения может использовать функцию экспорта команд без файла finsh.h;
  • Улучшены комментарии в файле rtdbg.h. В RT-Thread просто используйте следующий код для включения функции отладочного журнала:
    #define DBG_ENABLE

    #define DBG_SECTION_NAME    "[ MOD]"
    #define DBG_LEVEL           DBG_INFO
    #define DBG_COLOR
    #include <rtdbg.h>

При закрытии определения DBG_ENABLE отладочный журнал будет закрыт. В противном случае можно использовать dbg_log(level, fmt, ...) для печати отладочной информации.

DBG_SECTION_NAME — префиксная информация для каждой строки журнала; DBG_LEVEL — уровень отладочного журнала; DBG_COLOR — использование цветного журнала в консоли.

Компоненты

  • Исправлена проблема с флагом fopen в GNU GCC;
  • Исправлен pthread_detach при использовании для отсоединённого pthread;
  • Исправлена ошибка _TIMESPEC_DEFINED в IAR 8;
  • Добавлен интерфейс libc_stdio_get_console() для возврата fd консоли;
  • Перемещение компонента UI как отдельного пакета;
  • Добавление унифицированного драйвера TF/SD-карты на шине SPI устройства;
  • Добавление устройства soft-RTC, позволяющего синхронизироваться с сетевым временем и поддерживающего время с тиком ОС позже;
  • Изменение API open/fcntl/ioctl на стандартный интерфейс POSIX;
  • Исправлены проблемы с ramfs при обновлении с RTT 3.0.x;
  • Исправлена проблема elm fatfs umount (liu2guang);
  • Игнорирование флага O_CREAT при открытии файла устройства;
  • Улучшен класс VCOM в USB-стеке (ChunfengMu, Aubr.Cool).

BSP

  • Устранение потенциальной проблемы при включении аппаратного FPU Cortex-M;
  • Добавление v2m-mps2 BSP, используемого в Keil MDK5 для моделирования Cortex-M4/M7/M23/M33;
  • Добавление драйвера sdcard для stm32f10x-HAL (liu2guang);
  • Улучшена поддержка GNU GCC для stm32f10x-HAL (Xeon Xu);
  • Симулятор BSP можно использовать в Windows/Visual C++ и обновить SDL до версии 2.0.7;
  • Добавление gk7102 BSP от gokemicro;
  • Добавление ARM9 allwinner F1C100s BSP (uestczyh222);
  • Исправление некоторых проблем в библиотеке периферийных устройств NXP LPC54608/i.MX RT (Valeriy Van).

Инструменты

  • Скрипт сборки scons автоматически добавляет макрос _REENT_SMALL при включении newlib nanao;
  • Модификация скрипта сборки для Python 3.x и scons 3.0.

RT-Thread v3.0.2 Change log

Платформа

  • Обеспечение фиксированного значения Object_Class;
  • Добавление API rt_device_create/destroy;
  • Трассировка памяти для алгоритма управления небольшой памятью для обнаружения утечек и перезаписи;
  • Первая версия асинхронного API ввода-вывода;
  • cputime для счётчика высокого разрешения;
  • Функции устройства pipe в DeviceDrivers;
  • USB Host доступен в stm32f4 с классом массового хранения;
  • Команда «df» в msh;
  • Обновление UI-движка и добавление примера;
  • Разделение clock_time из pthreads и добавление нового идентификатора часов: CLOCK_CPUTIME_ID;
  • Поддержка IPv6 в lwIP 2.0.2;
  • Memlog в logtrace;
  • Закрытие сокета в dfs_net;
  • IPv6 в NFS;
  • Обновление файловой системы JFFS2. С новым DFS API
  • Исправить проблему со stat "/.." в lwext4 (parai).
  • Исправить проблему с поиском типа fs в mkfs.
  • Исправить проблему выбора в dfs_net.

Инструменты

  • scons: добавить команду '--useconfig' для использования существующего файла конфигурации.
  • scons: принудительно использовать g++ для компоновки при включении RT_USING_CPLUSPLUS в конфигурации GNU GCC.
  • Включить функцию пакета на хосте Linux/MacOS.

BSP

  • Добавить BSP NUC472 (bluebear).
  • Обновить драйвер SD/MMC для qemu-vexpress-A9.
  • Добавить драйвер клавиатуры/мыши для qemu-vexpress-a9.
  • Добавить драйверы ADC/I2C/Flash/PWM/RTC/smbus/SPI для apollo2 (Haleyl).
  • Добавить драйверы I2C/LCD/Touch для i.MXRT1052-EVK.
  • Обновить драйвер SD/MMC для mini2440 (kuangdazzidd).
  • Адаптировать симулятор к компилятору VC++.
  • Добавить USB-драйвер хоста в stm32f4xx-HAL (uestczyh222).
  • Обновить EMAC-драйвер для IPv6 в stm32f40x/stm32f107.
  • Добавить BSP stm32h743-nucleo (polariss).

RT-Thread v3.0.1 Change log

Платформа:

  • Добавить API mmap()/munmap() для совместимости с POSIX.
  • Исправить проблему с filesystem_operation_table.
  • Улучшить стек USB для устройства USB slave (HID/ECM/RNDIS/WINUSB или составное устройство).
  • Улучшить стек USB для хоста USB (HID/MSC и т. д.).
  • Исправить утечку памяти при закрытии канала.
  • Исправить проблему открытия romfs.
  • Добавить устройство SoftAP в Wi-Fi фреймворк.
  • Изменить порядок инициализации lwIP/ETH.
  • Добавить опции IPv6 в Kconfig.
  • Исправить проблему module_id в _rt_thread_init.

Инструменты:

  • Добавить menuconfig для платформы Linux/Mac: используйте scons --memuconfig, чтобы включить его.
  • Добавить LIBS для проекта IAR.

BSP:

  • Улучшить BSP LPC54608 для различных компиляторов.
  • Добавить GPIO/I2C/SPI-драйверы для Loongson 1C.
  • Добавить csd cmd в драйвер sdcard mini2440.
  • Добавить SDIO/EMAC-драйверы для BSP qemu-vexpress-a9.
  • Разрешить VC++ компилировать BSP симулятора.
  • Добавить BSP STM32F4XX-HAL для различных серий STM32F4 <пользователь может использовать menuconfig для выбора чипа>.
  • Исправить сброс PHY в BSP stm32f429-apollo.
  • Добавить Audio/MMC/SLCD/Touch/USB slave/RTC/SPI/SFC Flash-драйверы в BSP Ingenic X1000.

RT-Thread v3.0.0 Change log

Платформа:

  • Добавлены дополнительные функции POSIX, такие как poll/select, signal, termios и т.д.
  • Добавлена очередь ожидания для функции опроса.
  • Используются fops для файловых операций. Есть два способа доступа к объекту устройства: rt_device_* API и файловый API (open/read/write/close и т.д.).
  • Изменён тип cmd с uint8_t на int в интерфейсе управления.
  • Добавлено больше объектов C++ для объекта ядра RT-Thread.
  • Добавлен wlan-драйвер для работы с wlan-устройствами.
  • Интегрирован SFUD в RT-Thread для унификации операций spi flash.
  • Обновлён lwIP до версии 2.0.2.

Инструменты:

  • Включите пакеты с помощью инструмента ENV.
  • menuconfig & Kconfig.
  • Добавьте scons --dist для создания дистрибутива для указанного BSP.

BSP:

  • Больше портирования MCU.

IoT:

  • Поместите больше компонентов IoT в виде пакетов, например, MQTT, CoAP, HTTP, TLS и т.д.

RT-Thread v2.1.0 Change log

Этот релиз является окончательным релизом ветки RT-Thread v2.1.0. Этот релиз был отложен много раз. После фиксации fh8620 и x1000 BSP мы рады объявить о выпуске этой ветки официальной версии.

Журнал изменений с момента последней стабильной версии:

Ядро:

  • Перемещение компонента init в ядро.
  • Исправлена проблема с флагом открытия устройства.
  • Добавление утверждения hook.
  • Лучшая поддержка прикладных модулей.
  • Не блокирует планировщик при вызове функции тайм-аута программного таймера.

Пакет поддержки платы:

  • fh8620, предоставленный Shanghai Fullhan Microelectronics Co., Ltd. Это чип IP-камеры с ARM1176, 300 МГц, 16 КБ I-кэша и 16 КБ D-кэша.
  • x1000 bsp. Процессор — это процессор XBurst 1,0 ГГц, основанный на MIPS, от Ingenic Semiconductor Co.,Ltd.
  • imx6sx bsp, только портирование ядра Cortex-A9 в NXP i.MX6 solox. Кстати, ещё один полный порт серии Kinetis был создан в rt-thread_fsl, который поддерживается сотрудником NXP.
  • lpc5410x bsp, только портирование ядра Cortex-M4.
  • ls1cdev bsp для платы Loogson1C.
  • dm365 bsp.
  • nRF51822/nRF52832 bsp.
  • stm32f7-disco bsp, первое портирование ARM Cortex-M7 в RT-Thread.
  • stm32f411-nucleo bsp.
  • Добавлена поддержка компилятора IAR в beaglebone bsp.

Компоненты:

  • Добавлены операторы сокета fd в DFS с виртуальной файловой системой lwIP.

  • Добавлены CAN/аппаратные драйверы устройств таймера.

  • Исправлена проблема SDIO для поддержки. sdio wifi device

  • Добавить поддержку eMMC в драйверах устройств SD/MMC;

  • Исправить проблему сброса конфигурации NAT в lwIP NAT.

  • Вернуть RTGUI, но в качестве UI-движка для blend point/line/rect и bitmap и т. д.

  • Добавить портирование nanopb, реализацию Protocol Buffers небольшого размера;

  • Добавить портирование paho-mqtt, клиент Eclipse Paho MQTT C/C++ для встраиваемых платформ;

  • Обновить freetype до версии 2.5.4.

  • Улучшить msh для файловых операций.

  • Разделить экспортированные команды оболочки finsh на отдельный раздел: «.rodata.name».

Изменения в версии RT-Thread v2.1.0 beta

BSP-часть

  • BeagleBone — добавить поддержку GPIO;
  • Jingwei Yage M7 — обновить библиотеку драйверов и улучшить драйвер EMAC;
  • Новый участник — dm365 (включая EMAC, GPIO, I2C, MMC/SD, SPI и другие драйверы);
  • LPC4088 — добавить EMC, аппаратный таймер, CAN-драйвер;
  • Новый участник — Longxin 1C, плата разработки Zylon v2 (включая многопортовый драйвер);
  • Изменить способ переноса mini2440 на applications/drivers и др.;
  • Обновить перенос симулятора на MS VC++, обработать инициализацию кода, усовершенствовать драйвер консоли UART;
  • Новый участник — stm32f7-disco;
  • В stm32f10x добавить CAN-драйвер и примеры приложений;
  • В stm32f40x добавить драйвер аппаратного таймера и RTC;
  • Настроить stm32f107 под новую структуру драйвера последовательного порта;

Компоненты

  • Удалить член st_blksize в структуре stat библиотеки DFS (совместимо с определением stat в VC++);
  • Исправить проблемы реализации select в DFS;
  • Исправить ошибки при работе с файлами в DFS, а также проблемы с обработкой fd при закрытии;
  • Исправить ошибки в mkdir и lseek в DFS и проблемы с обработкой fd;
  • Исправить защиту SYS_ARCH_PROTECT/SYS_ARCH_UNPROTECT в lwIP;
  • Увеличить CAN-драйвер;
  • Увеличить драйвер аппаратного таймера;
  • Включить поддержку eMMC в драйвере SD/MMC;
  • Исправить ошибку при регистрации SDIO-драйвера;
  • Исправить проблему с флагом активации DMA при отправке через последовательный порт;
  • Включить в SPI Flash-драйвер поддержку чипа GD25Q spi flash;
  • Добавить компонент paho-mqtt;
  • Расширить возможности выполнения скриптов в msh, позволяя запускать скрипты *.sh;
  • Добавить команду mkfs в msh;
  • Исправить проблему обработки возврата каретки в Telnet под Linux в оболочке finsh;
  • При использовании armcc или gnu gcc добавить экспорт символов libc в модули приложений;
  • В драйвере Ethernet-карты добавить параметры ETHIF_LINK_AUTOUP/PHYUP для указания начального состояния линии связи Up/Down;
  • Экспортировать компонент log_trace в процессе инициализации ядра;

Ядро

  • Заменить UNUSED/USED на RT_UNUSED/RT_USED;
  • Во время компоновки добавить раздел .rodata.name, который можно разместить в менее производительной области памяти при ограничении ресурсов;
  • Усовершенствовать автоматическую инициализацию компонентов под IAR;
  • Добавить rt_assert_hook для выполнения этого хука при срабатывании утверждения;
  • Решить проблемы с загрузкой модулей приложений в разбросанном режиме;

Инструменты

  • В scons определить группу с добавлением параметров компиляции;
  • Исправить ситуацию, когда группа содержит код и двоичную библиотеку, что приводит к дублированию групп в файле проекта Keil MDK.

Версия: RT-Threadv2.0.1 и v2.1.0 alpha.

RT-Thread v2.0.1 — это версия 2.0, серия исправлений ошибок, а v2.1.0 alpha — текущая основная версия разработки, которая представляет собой технический предварительный просмотр версии v2.1.0 и не рекомендуется для использования в реальных продуктах из-за возможного наличия большого количества ошибок.

Изменения в RT-Thread v2.0.1

  • Для IAR dlib добавлена поддержка THREAD_SUPPORT и FILE_DESCRIPTOR;
  • Исправлена проблема с отображением echo в finsh;
  • Исправлены ошибки компиляции в коде USB host;
  • Исправлен вызов функции обратного вызова в sensor framework;
  • Исправлено имя устройства при регистрации pin-устройства;

v2.1.0 alpha представляет собой развитие первоначального плана roadmap, включая:

  • Более глубокую интеграцию lwip, включив его в файловую систему RT-Thread, чтобы сетевые приложения сокетов в Linux/Unix могли более плавно переноситься на RT-Thread.

Эта версия является частью серии v2.1.0, но также не связана с выпуском RT-Thread и представляет собой начало облачной интегрированной среды разработки! Облачная среда будет выглядеть так: откройте современный браузер и перейдите по ссылке CloudIDE.

RT-Thread 2.0.0 официальная версия

После примерно одного года работы была выпущена окончательная версия RT-Thread v2.0.0. С момента начала разработки было введено множество функций, изменений и улучшений. Спасибо всем разработчикам, которые приняли участие! Ниже приводится подробный отчёт об изменениях с момента выпуска RC-версии v2.0.0. Позже я также предоставлю сравнение основных различий между версиями v2.0.0 и v1.2.x, а также план развития следующей версии.

Ядро

  • Консоль открывается как символьное устройство с параметром RT_DEVICE_FLAG_STREAM;
  • Добавлено больше утверждений в rt_memheap_free;

Компоненты

  • Обновлён драйвер RW009 для поддержки режима SoftAP Wi-Fi (aozima);
  • Исправлены некоторые проблемы в sensor framework и добавлен интерфейс C API (предоставленный компанией Zhise Technology Service);
  • Добавлен код датчика MPU6050 (bernard, Coing);
  • Добавлен код датчика BMI055 (Coing);
  • Если heap не включён, исправлена ошибка в list_memheap в finsh/msh;
  • Исправлены предупреждения компилятора LIBC;
  • Добавлена поддержка IAR dlib для приложений, позволяющая использовать стандартные API-интерфейсы;
  • Исправлена конкуренция в YMode во время рукопожатия (grissiom);
  • Обновлено до FreeType версии 2.5.4;
  • Отдельно поместите глобальные объекты C++ в функцию cplusplus_system_init и вызовите её в потоке инициализации;
  • Открыт как символьное устройство в finsh с параметром RT_DEVICE_FLAG_STREAM;
  • Добавлен компонент VBUS для связи между Linux и RT-Thread системами, а также между RT-Thread системами (предоставлен компанией Zhise Technology Service);
  • Добавлены компоненты lwIP/NAT для преобразования адресов между несколькими сетевыми портами (Hicard);
  • Добавлен lwIP/DHCP сервер для назначения IP-адресов клиентам (предоставлен компанией Zhise Technology Service);

BSP

  • Исправлена ошибка преждевременного открытия прерывания в последовательном порту LPC4357 (nongxiaoming);
  • Переписан драйвер последовательного порта LPC4357, и оба ядра M4/M0 на чипе выполняют RT-Thread систему, используя VBUS для межсистемного взаимодействия (предоставлено компанией Zhise Technology Service);
  • Новый участник RX (limxuzheng);
  • Новый участник NuMicro M051 Series, поддерживающий GCC и Keil MDK (bright-pan);
  • Новый участник LPC54102 (Coing);
  • Удалена конфигурация RT_TIMER_TICK_PER_SECOND в STM32F4 BSP (pangweishen);
  • Обязательная компиляция с использованием 32-битного режима в анализе компиляции Clang под Linux (grissiom);
  • Исправлена преждевременная ошибка открытия прерываний в последовательном порте STM32F103 (armink);

Инструменты

  • Добавлена поддержка MD5 в scons (bright-pan). Реализован stub, который также идеально поддерживает разработку на платах BeagleBoneBlack и STM32F4;

В CSDN Open Source Summer Camp есть и другие результаты, например, начальные результаты портирования bluedroid. Надеемся, что они будут включены в последующие версии (возможно, это будет серия версий 2.1.0). CSDN Open Source Summer Camp — это отличное мероприятие, которое позволяет студентам заранее погрузиться в практику и получить базовые знания о разработке ПО. Для сообщества open source это также очень полезное мероприятие для взаимодействия. Надеемся, что в следующем году это мероприятие продолжится. Студенты, интересующиеся RT-Thread и разработкой встраиваемых систем, могут обратить внимание на развитие в следующем году.

Область интеллектуальных устройств сейчас привлекает большое внимание. В соответствии с особенностями этой области, RT-Thread также...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/bigmagic-dock_k210_rtt.git
git@api.gitlife.ru:oschina-mirror/bigmagic-dock_k210_rtt.git
oschina-mirror
bigmagic-dock_k210_rtt
bigmagic-dock_k210_rtt
master