Commit Graph

14286 Commits

Author SHA1 Message Date
Frank Buss e80facfd06 remove unused code to improve speed
The RT_ASSERT(obj != object) line is only compiled for debug mode.
But the rt_enter/exit_critical causes the compiler not to optimize
at least these 2 calls, even if it could optimize out the whole loop,
because the rt_list_entry function has no side effect, and RT_ASSET
is a no-operation in release mode. So this patch fixes this:
- no warnings anymore
- better speed in release mode
2022-10-08 22:37:41 -04:00
Meco Man 6b60aab136 [dist-ide] 优化导出RTThread Studio工程命令
- 导出rtstudio工程时,多增加一级目录,防止BSP本地Sconscript和导出的工程的Sconscript粘接 导致编译出错
- 增加命令别名 --dist-rtstudio 该命令和 --dist-ide命令执行一致,方便用户理解,--dist-ide IDE表示的内容过于宽泛
2022-10-08 22:33:28 -04:00
朱天龙 (Armink) a48f446a0f
[components][utilities][ulog] Improve the HEX LOG by new formater. (#6490)
- 重构格式化器
- 重写 HEX 日志功能,与标准日志使用相同的格式化器。与标准日志在日志过滤功能和日志头显示功能上一致
2022-10-08 22:33:10 -04:00
bzrobotics 560a21207e FIX: [bsp][stm32] pulse_encoder driver did not handle TIM overflow 2022-10-08 22:32:45 -04:00
chenbin182 c17d5d509f
[bsp][ch32v307] 添加can驱动 (#6484)
CH32V307 添加can驱动。
CAN1和CAN2均可以使用,而且调整好波特率
2022-10-08 22:32:29 -04:00
Man, Jianting (Meco) f7be5fc84b
[bsp][applications][sconscript] 整理统一sconscript格式 (#6481)
* [bsp][sconscript] 整理统一sconscript格式

* update

* update
2022-10-03 10:43:08 -04:00
cy023 f741ccb400 Fix string comparison method 2022-10-01 14:00:21 -04:00
linshire e43a938ec1
[bsp][ch32v307] 修改部分菜单 (#6483)
* 修改部分菜单

* change again
2022-09-30 11:19:38 -04:00
linshire de48b65b0d
[ch32v3] 修改RT_USING为BSP_USING (#6482)
* 修改RT_USING为BSP_USING

* Update SConscript

* Update SConscript

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-30 11:07:52 -04:00
YangZhongQing b9cd2b6016 build: EndBuilding need_exit after GenTargetProject
User choice IDE build, after GenTargetProject there's no need to do the rest.
并且,既然用户指定了IDE,接下来的命令行编译却仍然是使用arm-none-eabi-gcc,为什么不是用IDE的编译器呢?(也许是个bug)
2022-09-29 21:03:38 -04:00
Meco Man 688b6e2014 [iar] PLATFOMR更正为'iccarm' 2022-09-29 20:58:34 -04:00
Meco Man 0fadf23b8d [qemu-vexpress-a9] QEMU运行时显示qemu版本号 2022-09-29 20:58:15 -04:00
cy023 b2be7eae3a fix typo 2022-09-29 11:23:48 -04:00
Alex e0294dab50
GitHub Workflows security hardening (#6472)
* build: harden action_tools.yml permissions

Signed-off-by: Alex <aleksandrosansan@gmail.com>

* build: harden action.yml permissions

Signed-off-by: Alex <aleksandrosansan@gmail.com>

* build: harden action_utest.yml permissions

Signed-off-by: Alex <aleksandrosansan@gmail.com>

Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-29 01:44:28 -04:00
tyx 64a6297840 [menuconfig] Fix pyconfig running errors 2022-09-29 13:35:09 +08:00
hg0720 ee57f2d0da
[ch32v307][bsp]添加了看门狗驱动 (#6474)
添加了 ch32v307 看门狗驱动,已在 ch32v307评估板验证;
修改了 rt-thread\bsp\wch\risc-v\ch32v307v-r1\board 目录下的 Kconfig 文件;
修改了 rt-thread\bsp\wch\risc-v\Libraries\ch32_drivers 目录下的 SConscript 文件;
添加了 rt-thread\bsp\wch\risc-v\Libraries\ch32_drivers 目录下的 drv_iwdt.c 文件;
2022-09-28 21:09:53 -04:00
liYangYang 9f97906756
[GD32][BSP]添加GD32303C-START开发板 (#6465)
* first copy

* [GD32][BSP]添加GD32303C-START开发板

* 更新yml文件

* 更新scons脚本
2022-09-28 12:00:43 -04:00
Meco Man 97c483fe35 [rtduino][readme] change title 2022-09-28 02:11:35 -04:00
Tangyuxin ca30428cee
修复低概率终端无法输入问题 (#6464)
* [ulog] Fix the problem that the terminal cannot input

* [mem] Fix NULL pointer access
2022-09-27 11:11:29 +08:00
tangzz98 82bf18b771
ESP32: Support applying patch to local IDF (#6467) 2022-09-26 00:55:51 -04:00
YuQi 5debfdd84d
[TMS320F28379] implement PWM driver (#6457)
增加c28x芯片的pwm驱动
已经在TMS320F28379中通过测试
pwm设备框架增加如下方法:
#define PWM_CMD_SET_DEAD_TIME (RT_DEVICE_CTRL_BASE(PWM) + 8)
#define PWM_CMD_SET_PHASE (RT_DEVICE_CTRL_BASE(PWM) + 9)
#define PWM_CMD_ENABLE_IRQ (RT_DEVICE_CTRL_BASE(PWM) + 10)
#define PWM_CMD_DISABLE_IRQ (RT_DEVICE_CTRL_BASE(PWM) + 11)
2022-09-25 22:41:00 -04:00
Man, Jianting (Meco) c7a9481831
[rtduino] 对接STM32F412 NUCLEO (#6461) 2022-09-25 22:38:35 -04:00
YangZhongQing 1c2d05d545 RTC STM32F1 Enable PWR and BKP clocks in the same time
bsp\stm32\libraries\HAL_Drivers\drv_rtc.c在STM32F10x上有一个“RTC首次上电时BKP时钟没使能”的问题。

STM32F10x要求:
写RTC Domain and RTC registers之前需要__HAL_RCC_BKP_CLK_ENABLE(详见:stm32f1xx_hal_rtc.c里面的##### Backup Domain Access #####)

问题分析:
1、RTC首次上电时:由于HAL_RTC_Init初始化之前没有使能BKP时钟,所以对RTC registers的初始化无效。
2、然后用date命令设置时间,调用到set_rtc_time_stamp也没有__HAL_RCC_BKP_CLK_ENABLE,所以HAL_RTCEx_BKUPWrite写的值无法真正永存于BKP,重启后就丢失。
最终导致:对于RTC首次上电的情况,每次重启后RTC_BKP_DR1里的值都不是BKUP_REG_DATA,导致永远无法调用到rt_rtc_f1_bkp_update()去使能BKP时钟。

解决办法:
参考STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\RTC\Calendar\main.c里面的RTC_Configuration()同时打开RCC_APB1Periph_PWR和RCC_APB1Periph_BKP
2022-09-23 21:04:35 -04:00
supperthomas fc55785e70
[bsp][nrf52840]Add segger rtt function (#6460)
* fix project to AC6

* add the segger_rtt function

* move Kconfig
2022-09-23 09:38:42 -04:00
hg0720 714b93cc3d 添加了 rtc 驱动 2022-09-22 23:25:27 -04:00
Wayne dc9887913b
[usbhost] List keyboard option. (#6456)
* [bsp/nuvoton] Support NuMaker-M467HJ BSP and update drivers.

* Format files.

* [usbhost] List keyboard and update driver.

* Enlarge to reasonable thread stack size.

* Do indent..

* Keep private.

Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2022-09-22 23:23:28 -04:00
Meco Man c38259d336 [tools] 增加scons --exec-path=xxx命令 用于动态设置编译链路径
scons --target=iar --exec-path=xxxx
scons --exec-path=xxxx
2022-09-22 22:57:09 -04:00
BreederBai 61e1e31ca9
[bsp/stm32] 简化drv_usart中的DMA接收逻辑 (#6357) 2022-09-22 14:13:57 +08:00
YangZhongQing 50cb4be8ce
bsp beaglebone: add IAR support (#6443)
* bsp beaglebone: add IAR template files and fix it's build error

ATTENTION:
project.* was generated by scons, so I add it to gitignore.
rtconfig.py *FLAGS located in "PLATFORM == 'iccarm'" are unverified and maybe wrong.
(我只是从STM32里面抄来,然后根据自己的理解改了一下,并没有验证这些参数的正确性,
我也不知道怎么用命令行调用这些参数来编译)

* bsp beaglebone: add beaglebone_ram.icf ROM address from uboot_cmd.txt

am335x_DDR.icf use 0x82000000, different to uboot_cmd.txt & gcc beaglebone_ram.lds,
the difference will easy cause later developer got below error:

=> go 0x80200000
## Starting application at 0x80200000 ...
undefined instruction
pc : [<8200956c>]	   lr : [<8ff62497>]
reloc pc : [<728a956c>]	   lr : [<80802497>]
sp : 8df37358  ip : 00000000	 fp : 00000002
r10: 8df4d448  r9 : 8df3feb8	 r8 : 8ffd30f8
r7 : 8ff78089  r6 : 00000002	 r5 : 80200000  r4 : 8df4d44c
r3 : 80200000  r2 : 8df4d44c	 r1 : 8df4d44c  r0 : 00000001
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32
Code: 5dbffcdd bb9bdf7f abf85423 eff1f77f (7ed7daaf)
Resetting CPU ...

resetting ...

* libcpu am335x: context_iar.S rt_hw_context_switch: add thumb mode support

IAR new project defualt Processor mode is Thumb, this will cause user
easy occur the following error:
...
msh />Execption:
r00:0x8800aaa8 r01:0x802080c5 r02:0x00000000 r03:0x88009b4c
r04:0x00001000 r05:0x00000000 r06:0x00001403 r07:0x00100000
r08:0x00000000 r09:0x00000000 r10:0x0000000a
fp :0x0000000a ip :0x65687374
sp :0x00006c6c lr :0x0000008a pc :0x88008be0
cpsr:0x880001bc
software interrupt
shutdown...
(0) assertion failed at function:rt_hw_cpu_shutdown, line number:160

* bsp beaglebone: change IAR template.ewp code use Arm mode

Arm mode bin size will bigger than Thumb mode

* libcpu am335x: IAR: use rt_hw_cpu_dcache_enable instead of rt_cpu_dcache_enable

Reviewer mysterywolf say:
麻烦把rt_cpu_icache_enable 和 rt_cpu_dcache_enable, 统一改成 rt_hw_cpu_icache_enable 和 rt_hw_cpu_dcache_enable
rt_hw_cpu_icache_enable 和 rt_hw_cpu_dcache_enable 是其他bsp也是这么命名的 这是个命名统一的函数
2022-09-22 14:13:34 +08:00
Meco Man 560166477e [stm32f401 nucleo] update main.c revert blinking LED 2022-09-20 10:33:12 -04:00
liyangyang f71a287a68 [RTduino]更新stm32f469的对接文件 2022-09-20 10:32:56 -04:00
wdfk-prog a4bd223e20
修改Ymodem组件中MSH的ry命令,已便于自定义保存路径 (#6433)
* 修改ry命令,已便于自定义保存路径

* modified:   components/utilities/ymodem/ry_sy.c
2022-09-20 10:31:34 -04:00
Tangyuxin a4829b1c00
[fix] Fix simulator compilation warnings (#6438)
* [fix] Fix simulator compilation warnings

* Update bsp/simulator/rtconfig_project.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-20 10:31:11 -04:00
Wayne 746d7a01bd
[bsp/nuvoton] Support NuMaker-IoT-M467 board (#6448)
Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2022-09-20 10:30:21 -04:00
liyangyang 4e9786cdab [RTduino]stm32f103-blue-pill更新对接文件 2022-09-19 23:36:22 -04:00
tangyuxin 655beb3bda [memheap] Fix the Oz optimization problem of AC6 compiler 2022-09-19 23:30:44 -04:00
hg0720 90d9b449b1
[ch32v307v-r1] 添加了模拟iic驱动 (#6447) 2022-09-19 10:33:55 -04:00
xiao xie 4b897fea3f
[imxrt1170-m7]Adjust pro dir structure (#6446) 2022-09-19 01:20:02 -04:00
Man, Jianting (Meco) 8d3c1f7008
[rtduino]重新整理pinout (#6445)
* [rtduino][stm32l475-pandora] 重新整理pinout

* [rtduino][bluepill] 整理pinout

* [rtduino][stm32-f401nucleo]整理pinout

* [rtduino][stm32-pandora] 整理pinout

* [rtduino][stm32f072]整理pinout
2022-09-18 22:14:35 -04:00
Meco Man d1c66d0e30 [tools][iar] 将IARPath作为独立函数 2022-09-18 15:43:18 -04:00
liyangyang dc6b9fde98 [RTduino]stm32f401-st-nucleo 更新对接文件 2022-09-18 10:05:36 -04:00
hg0720 60d6e42941
[ch32v307v-r1] 添加dac驱动 (#6440) 2022-09-18 09:32:56 -04:00
linshire fdcee2da20
[BSP] CH32V307 add drv_adc (#6431)
添加了ch32v307的adc驱动,已在ch32v307评估班上对adc1ch5进行了验证,并修改了kconfig以及scons脚本,可以成功编译以及使用
2022-09-16 22:50:57 -04:00
myshowtogo 4637eb16dc Modified bsp/stm32/libraries/HAL_Drivers/drv_can.c
修复字符串比较错误
2022-09-16 08:36:48 -04:00
charlown 5ed3e81490
使用 __ARMCC_VERSION 代替 __CC_ARM 用以支持AC6编译 (#6436)
将__CC_ARM 替换成 __ARMCC_VERSION 用以支持AC6编译,通过gd32f303测试。
2022-09-16 08:13:40 -04:00
Meco Man 981e721c3b [kernel] add rt_ssize_t data structure 2022-09-16 17:26:07 +08:00
Man, Jianting (Meco) 1249bc45f9
完善bsp beaglebone的基本使用 (#6434)
* bsp beaglebone: rerun menuconfg

* bsp beaglebone: add uart0 support

* bsp beaglebone: use uart0 as console

* bsp beaglebone: add heap init

fix rt_application_init() error:
(m != RT_NULL) assertion failed at function:rt_smem_alloc, line number:288

* bsp beaglebone: add mmu & interrupt init

must init mmu, otherwise no interrupt is generated, cause scheduler can't work.
I don't know why need mmu, just seen: bsp/rockchip/rk3568/driver/board.c

* libcpu am335x: reset interrupt controller before init vector

I think reset before init is more better

AM335X_StarterWare_02_00_01_01\system_config\armv7a\am335x\interrupt.c
IntAINTCInit()

* bsp beaglebone: full gpio driver support

* bsp beaglebone: add tftpboot way to uboot_cmd.txt

* bsp beaglebone: optimize am33xx_gpio_hdr, check irqstatus is the last one

Co-authored-by: YangZhongQing <vipox@qq.com>
2022-09-15 23:56:31 -04:00
Meco Man e4b1128486 [iar] 修正IAR编译链名称 2022-09-15 23:54:35 -04:00
Dozingfiretruck b4df964160 fix:The directory "sdkdir" is set incorrectly 2022-09-16 11:54:19 +08:00
Meco Man 2133b8536a [stm32][bluepill] update readme 2022-09-15 23:52:23 -04:00