Commit Graph

780 Commits

Author SHA1 Message Date
Fan Yang c1b22ede30
Add BSP for HPM6750EVK and HPM6750EVKMINI (#6374)
* Add CANFD support and correct typos

- Added CANFD required fields to can.h
- Fixed typos in can.h and can.c
- Corrected all the projects affected by the typo
- Fixed wrong line-ending in some affected can driver files

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>

* update

* bsp: support boards from hpmicro

- Supported HPM6750EVKMINI
- Supported HPM6750EVK

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
Co-authored-by: Meco Man <920369182@qq.com>
2022-09-06 00:48:16 -04:00
Zhang WenBin e2368bf7f3 fix: 修复arm926异常时打印栈名乱码 2022-09-05 11:07:06 +08:00
YuQi b11cb41ae7
tms320f28379d fix init (#6343)
解决 tms320f28379d bsp 启动的问题。主要改动如下。

修正context.s中汇编代码错误。在旧版的代码中,操作数为32位而汇编命令却使用了针对16位数据的命令MOV,导致程序在某些情况无法正常启动线程。
由于C28x的平台下,SP只支持16bit寻址,所以用于线程空间存放的heap以及ebss段都需要放在低16位的空间,针对这个问题修改了CMD文件。此外还增加基于CMD文件基于RAM的支持,方便调试。
新增rtdef.h中RT_SECTION,RT_USED,ALIGN和RT_WEAK的定义。旧版bsp中这些定义为空,导致INIT_EXPORT注册的函数失效。
修改程序启动代码,在程序入口直接调用原生启动代码
以上改动在LAUNCHXL-F28379D 通过了测试。
2022-08-29 15:35:23 -04:00
liyangyang d887d6eb19 fix scons 2022-08-22 23:39:39 -04:00
liyangyang 9b750eba84 libcpu 支持 ch32v3系列单片机 2022-08-22 23:39:39 -04:00
Yunjie Gu b43f0e7205
[bsp][tms320f28379d] Fix compile ti (#6254)
* compile_ok

Issues fixed:
(1) update .config: select FINSH_USING_SYMTAB
(2) add rt_size_t in rtconfig_project.h
(3) fix finsh problems of using sym table
(4) update .project to include ipc source codes.
Todo list:
(1) automate the build source selection of ccs and reconcile it with scons

* change compiler

* msh can run now

the key step is to swap the order of rt_interrupt_nest -- and RT_OBJECT_HOOK_CALL(rt_interrupt_leave_hook,()) in irq.c. This is an improvised solution and an issue has been raised.

* Update 2837x_FLASH_lnk_cpu1.cmd

The original one is also fine. Just to make it more rigorous since FSymTab is in data section.

* update readme.md

Complier selection and maintainer update.

Co-authored-by: YuQi <qiyu_sjtu@163.com>
2022-08-20 13:16:41 -04:00
Martin e4d6dd88c9 [libcpu][arm] fix rt_hw_cpu_dcache_ops clean invalid bug
clean_invalid must be set at the same time, and call
clean_invalid, or call clean/invalid
2022-08-13 22:12:17 -04:00
tfx2001 21ee452661 [libcpu][arm] fix armclang error when enable LTO 2022-08-11 08:35:42 -04:00
dongly 3363586cbb
Fix some compilation warning (#5744)
* Fix some compilation warning

* 补充修正一些数据类型的使用错误

Co-authored-by: Meco Man <920369182@qq.com>
2022-08-02 12:09:49 -04:00
emuzit c802fcdcf8
WCH CH569W-R0-1v0 evt board bsp port, first version (#6167)
WCH CH569W-R0-1v0 evt board bsp port, first version

dev/test under Ubuntu 20.04
toolchain from MounRiver_Studio_Community_Linux_x64_V120

tested drivers : SysTick, gpio, gpio interrupt, uart1 (RX interrupt, TX polling)

libcpu/risc-v/SConscript :
group includes rtconfig.CPU only if folder exists

libcpu/risc-v/common/cpuport.c/rt_hw_context_switch_interrupt() :
make it RT_WEAK for customization
2022-07-30 02:10:51 -04:00
Aligagago 250b3cbc16 使用 AStyle.exe 统一代码格式 2022-07-27 11:45:29 +08:00
rewine 825b9ffbc3
[libcpu/risc-v/virt64]: fix parameter for call handle_trap (#6042) 2022-07-10 17:48:57 +08:00
Tangyuxin a47468f574
支持只运行在安全模式下 (#6115)
* [cpu][cm33] Support running in secure mode

* [bsp][lpc55sxx] Using the cortex cm33
2022-06-29 14:08:57 +08:00
Man, Jianting (Meco) 2c10d5ad01
[rtc] use gmtime_r to replace gmtime (#6012)
* [rtc] use gmtime_r to replace gmtime
2022-06-22 13:41:06 +08:00
JonasWen b010e434ed
[libcpu][arm] ArmClang 编译优化错误 (#6071) 2022-06-15 17:19:51 +08:00
Meco Man 83b3aadaa3 [Scons][iar][iccarm] IAR统一使用iccarm作为判断条件而不是是用IDE的名字来进行判断
因为不确定后续IAR是否会像Keil一样内含有不同的编译工具链
此外,将判断条件改为列表方式,这样更方便后续增加其他可能的IAR编译链
2022-06-09 07:01:59 +08:00
Meco Man 50f041f5c2 [Scons] 将GCC判断条件改为列表方式,方便后续增加新的编译工具链 2022-06-09 07:01:59 +08:00
FrankTan d2909eb16b [libcpu/arm]: fix typo 2022-05-13 15:38:17 +08:00
Tangyuxin c80993f713
[libcpu][arm] Add exception install function (#5827) 2022-04-24 01:03:54 +08:00
zhouji 60c96fbc12 [update] Removed C++ global constructor initialization, this method is not used in GCC4.7 and later versions. 2022-04-20 17:32:02 +08:00
thewon86 f5b0bfd3f4 uniform code writing-disable interrupt 2022-04-20 14:22:43 +08:00
tyx a6135ebcf3 [libcpu][arm] Fix compilation warning 2022-04-20 10:37:35 +08:00
Man, Jianting (Meco) a0f8d43744
[gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM (#5802)
* [gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM
2022-04-20 09:56:04 +08:00
tyx d6c74af535 [libcpu][arm] Fix compilation warning 2022-04-19 11:26:11 +08:00
blta b1a9c4c4ea
[libcpu/arm]: add dsb and isb instructions in the end of rt_hw_context_switch_to (#5748) 2022-04-08 12:52:22 +08:00
blta 99526cc047 [bsp/ch32v103r-evt] add ch32v103r-evt bsp
feat: move MRS demo source to bsp and libraries folder

feat: update Sconscript

feat: modify SConstruct in the bsp

feat: use the rtconfig.py of gd32vf103v-eval bsp to modify

feat: use the MRS's rtconfig.h temoporarily

feat: update Kconfig files

feat: use the MRS's .ld and rename as link.lds

feat: add ch32v1 porting folder

perf: remove board/system_ch32v10x.c

fix: define SOC_ARM_SERIES_CH32V103 in rtconfig.h

fix: add some neccessary macros in rtconfig.h

perf: use the menuconfig to generate rtconfig.h

feat: add readme.md

fix: correct the bad encode in main.c

fix: include board.h in main.c

perf: check and update README.md

perf: remove ch32f10x_port_cn.md

feat: ignore the standard libraries's CI checking

feat: add sdk_dist.py

fix: correct some style errors again

perf: simply the board/kconfig

fix: format ch32v103r-evt

fix: format drvs and libcpu
2022-04-06 11:06:55 +08:00
Man, Jianting (Meco) 6bd22f3e6f
替换RTThread旧版文件头注释版权声明 (#5774) 2022-04-05 19:34:30 +08:00
changzehai 3f7cc54449
1、解决未在rtconfig.h中定义“RT_USING_CPU_FFS”宏时,使用arm-gcc编译会出现__rt_ffs() 函数重定义,导致编译不通过的问题; (#5755)
2、解决bsp/rm48x50工程使用arm-gcc编译下载后,程序运行出现prefetch abort异常的问题。
2022-04-05 10:26:12 +08:00
Tangyuxin a5dc6c490a
[libcpu] Add CM33 (#5761) 2022-04-01 22:45:11 +08:00
blta ce602a6e4a
[libcpu/risc-v] 修复risc-v scons编译中间文件不能输出到build/kernel/libcpu目录问题 (#5736) 2022-03-29 22:18:05 +08:00
GUI f587a55bc2
[libcpu/aarch64] add gicv3 support and bsp/rockchip/rk3568 (#5722)
* [libcpu/aarch64] add smp support

* [libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2

* [libcpu/aarch64] disable irq/fiq when switch thread

* [libcpu/aarch64] add gtimer frq set and stack align

* [libcpu/aarch64] add gicv3 support and bsp/rockchip/rk3568
2022-03-29 11:08:25 +08:00
ACM32_MCU 9779963c6d
[libcpu/arm/cortex-m33]fix syscall_iar.S compiler error (#5719)
* 1. 新增了i2c/spi/rtc/crypto等驱动;2. 删除了部分文件中的未使用到的头文件包含; 3. 修改keil编译时pm文件atoi的头文件stdlib未包含的警告

* 修改文件格式

* BSP

1. 修改f4系列bsp的readme文件与工程文件
2. 修改f0系列源文件的版权信息、删除目前没有的库文件。
3. 其他

* 修改IAR环境下arm cortex-m33内核的syscall_iar.S文件编译错误

* 还原.gitignore文件

Co-authored-by: aisino2200 <90822414+aisino2200@users.noreply.github.com>
2022-03-28 10:38:46 +08:00
rtthread-bot ad5eb2e086 Merge remote-tracking branch 'rtt_gitee/gitee_master' 2022-03-12 16:14:47 +00:00
张世争 7746d288d7
优化bsp/simulator自动初始化 (#5634) 2022-03-08 12:03:41 +08:00
GUI 0a8dd10b0b
[libcpu/aarch64] add gtimer frq set and stack align (#5642)
* [libcpu/aarch64] add smp support

* [libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2

* [libcpu/aarch64] disable irq/fiq when switch thread

* [libcpu/aarch64] add gtimer frq set and stack align
2022-03-07 22:41:56 +08:00
clickcheck ed9037e376
update libcpu/mips/gs232/gs232.h:
更正了看门狗的寄存器地址
2022-02-22 09:48:12 +00:00
GUI 9b6e75f90b
[libcpu/aarch64] disable irq/fiq when switch thread (#5605)
* [libcpu/aarch64] add smp support

* [libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2

* [libcpu/aarch64] disable irq/fiq when switch thread
2022-02-21 23:24:51 +08:00
GUI 85dc9bd4a6
[libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2 (#5601)
* [libcpu/aarch64] add smp support
* [libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2
2022-02-17 01:00:29 +08:00
Man, Jianting (Meco) 71ba65e7c0 add new bsp tms320c6678
原始提交PR:https://gitee.com/rtthread/rt-thread/pulls/372
提交者:https://gitee.com/wei-handong

----------------------

在TI公司C6000 DSP处理器上成功移植rt-thread操作系统;主要在libcpu/ti-dsp/c6x添加keystone架构底层代码,在bsp/ti-c6678添加bsp工程,该工程已在本人的开发板上成功运行

* 添加TMS320C6678处理器,keystone架构底层代码

* 添加支持中断栈部分代码,修改格式

* 修改汇编rt_hw_context_switch_to处关于时间槽的使用;修改格式

* 修改使用C语言构建任务栈帧,清除fls和ffs对<c6x.h>文件的依赖

* 修改bsp tms320c6678工程,并测试

* 删除依赖TI的KeyStone_common.c文件

* 添加编译说明

* update bsp/ti-tms320c6678/README.md.

* format code

Co-authored-by: Huang bo <hb265419@126.com>
Co-authored-by: hdwei <1147479335@qq.com>
Co-authored-by: bernard <bernard.xiong@gmail.com>
Co-authored-by: rtthread-bot <48120998+rtthread-bot@users.noreply.github.com>
Co-authored-by: Meco Man <920369182@qq.com>
2022-01-29 16:11:42 +08:00
Man, Jianting (Meco) 5a0fea6987
[Kconfig][libcpu] 增加ARCH_CPU_BIG_ENDIAN (#5547)
* [cpu] 增加ARCH_CPU_BIG_ENDIAN
- 之前RT_USING_BIG_ENDIAN的命名并不合理,予以替换为ARCH_CPU_BIG_ENDIAN
- 删除一处多余的ARCH_CPU_64BIT
- 整理了libcpu/Kconfig的格式

* [libcpu][Kconfig] Cortex-M4&7 select ARCH_ARM_CORTEX_FPU

* revert last commit
2022-01-25 15:00:47 +08:00
Meco Man 563e49890c [asm] 解决tab和空格混用的问题 2022-01-20 20:57:35 +08:00
Bernard Xiong 5decbb5170
Merge pull request #5345 from jiladahe1997/master
[bugfix] libcpu/arm/cortex-m/context_gcc: 修复thumb指令集汇编语法错误
2022-01-14 22:36:14 +08:00
GuEe-GUI 353f717037 [libcpu/aarch64] add smp support 2022-01-08 18:24:02 +08:00
Meco Man 5187d75af5 [armclang] 使用__clang__代替__CLANG_ARM 2021-12-29 14:15:38 -05:00
Meco Man c8dcf7cc68 [libc]rename group name 2021-12-30 01:27:25 +08:00
Man, Jianting (Meco) ed1f8b3f64 Revert "add clang-arm support."
This reverts commit a5f6fdc780.
2021-12-22 18:57:16 -05:00
guozhanxin a5f6fdc780 add clang-arm support. 2021-12-22 13:03:05 +08:00
jiladahe1997 433e5f8147 [bugfix] libcpu/arm/cortex-m/context_gcc: 修复thumb指令集汇编语法错误
当使用thumb指令集时,要求汇编语法中的“条件执行”要跟在IT指令后面,否则会编译不通过。
报错如下:Error: thumb conditional instruction should be in IT block -- `moveq r4,#0x01'

虽然可以通过指定"-Wa,-mimplicit-it=thumb"选项来告诉编译器识别隐式的IT指令,但是能在代码里面直接加上IT指令的话更好。

thumb指令集“条件执行”arm官网文档:
    https://developer.arm.com/documentation/dui0473/m/condition-codes/conditional-execution-in-thumb-state

参考论坛帖子:
    https://club.rt-thread.org/ask/question/433887.html
    https://club.rt-thread.org/ask/question/4188.html

Signed-off-by: Mingrui Ren <jiladahe1997@gmail.com>
2021-12-09 11:22:46 +08:00
Bernard Xiong 7c012afdf8
Merge pull request #5314 from GuEe-GUI/master
fixup .bss size define in link.lds and set spsel=1 in aarch64
2021-12-01 09:18:50 +08:00
GuEe-GUI efbdbc2636 fixup .bss size define in link.lds and set spsel=1 in aarch64 2021-11-30 11:14:17 +08:00
jihongbin 7d07c61a47 [fix][libcpu][riscv][t-head] fix rt_hw_interrupt_disable/rt_hw_interrupt_enable bug
使用不同的优化等级会出现不同的效果
当使用-O0 等级时,无法正确得到关闭中断之前的状态

Using different optimization levels will have different effects
When the - o0 level is used, the state before the shutdown interrupt cannot be obtained correctly
2021-11-04 10:36:11 +08:00
BernardXiong be2dec978d [BSP] fix the compiling issue for qemu-riscv64 2021-10-19 15:00:46 +08:00
BernardXiong 6b66207048 [libcpu] fix s-mode issue 2021-10-19 14:35:22 +08:00
Huaqi Fang 45f9e9c4cb [libcpu][nuclei] Fix context switch in nuclei
previous rt_hw_context_switch might cause the
task switch handling error.

See
1a1a209e93 (diff-ba922e02206af6c52163f0c34a7e76e427b7ea22f791329b62f2069241c57778)

Signed-off-by: Huaqi Fang <578567190@qq.com>
2021-10-15 15:20:00 +08:00
mazhiyuan 99e9ea61bc 修复部分bsp编译报错 2021-10-13 11:02:01 +08:00
Bernard Xiong 63c741996b
Merge pull request #5031 from liukangcc/armclang
[update] support armclang
2021-09-28 13:51:23 +08:00
Bernard Xiong 8bf5c27406
Merge pull request #5090 from GuEe-GUI/master
Merge AArch64 libcpu and add some drivers for their bsps
2021-09-26 17:18:43 +08:00
GuEe-GUI 740cd9dfb0 Merge AArch64 libcpu and add some drivers for their bsps 2021-09-26 15:01:59 +08:00
liukangcc 0e46c8a33d [update] support armclang 2021-09-26 10:46:21 +08:00
Meco Man f191694b19 [ci][action.yml]CI加入龙芯ls2kdev 2021-09-22 08:24:45 -04:00
BernardXiong 0b13409c16 [BSP] fix compiling issue with libc 2021-09-11 18:09:22 +08:00
Bernard Xiong 8da9f78d72 [libc] remove rtlibc 2021-09-11 11:07:51 +08:00
Meco Man 1997113fbc FINSH_USING_BUILT_IN_COMMANDS改MSH_USING_BUILT_IN_COMMANDS 2021-08-28 16:48:08 -04:00
Meco Man 29828dc94f [finsh] finsh组件可以选择是否包含内置命令 2021-08-25 19:48:15 -04:00
chen zx ac824e0ef3
Merge branch 'RT-Thread:master' into master 2021-08-16 16:29:25 +08:00
wormsX 360223a693 QEMU support, and code optimization for thead extension 2021-08-16 16:07:57 +08:00
Bernard Xiong a6df4391ed
Merge pull request #4924 from GuEe-GUI/master
[bsp/virt64/aarch64]添加qemu-virt64-aarch64平台
2021-08-10 18:03:07 +08:00
GuEe-GUI b7dd004de0 [bsp/virt64/aarch64] Add 'qemu-virt64-aarch64' bsp 2021-08-06 18:35:58 +08:00
chenzx 236e01bead support T-HEAD Xuantie-E9xx Series CPU on Smart-EVB, eg. E906/F/D/P, E907/F/D/P 2021-07-14 20:12:55 +08:00
guozhanxin 40e7d5a23d Merge remote-tracking branch 'remotes/gitee/master' 2021-07-12 10:14:20 +08:00
iysheng e62943abd2 [libcpu][arm][s3c24x0] Fix RTC driver compile error 2021-07-08 22:41:40 +08:00
fenghuijie 0015af02e4 调整代码,以支持cpu usage 2021-07-05 18:33:22 +08:00
fenghuijie e933c1f610 调整异常处理代码结构,以支持backtrace功能 2021-07-05 14:43:33 +08:00
fenghuijie eb79a8a244 修改irq handle接口rt_hw_trap_irq,支持核间IPI中断处理 2021-07-05 14:06:32 +08:00
fenghuijie da701d6b3a 添加dcache invalidate/dcache clean&invalidate接口 2021-07-03 17:34:45 +08:00
wanghaijing a6060a41df Adjust the stack_top to bss 2021-07-03 10:25:30 +08:00
Bernard Xiong 7d3bac8b6e [libcpu] remove gtimer/pmu from cortex-a 2021-07-02 15:07:21 +08:00
guozhanxin 43d19a8b78 [bsp] stm32h750-artpi-h750/stm32f412-st-nucleo support armclang. 2021-07-01 01:31:56 +08:00
zhouji 3350b0ba4e [update] 整理cortex-a kconfig菜单,并更新相关BSP的配置。 2021-05-27 17:44:44 +08:00
zhouji d6e86a67bb [add] 在cortex-a中增加,打开RT_USING_CPU_FFS宏定义时的_rt_ffs实现。 2021-05-27 17:39:03 +08:00
bigmagic123 d6f5fbcd5b format code 2021-05-21 18:39:41 +08:00
bigmagic b7c7c7f4de Support for running with M-Mode 2021-05-21 17:10:07 +08:00
Bernard Xiong 9317ee2cb2
Merge pull request #4705 from lizhirui/master
add qemu-riscv-virt64 bsp
2021-05-21 06:41:20 +08:00
lizhirui 5d33302992 Revert "repair hard fault return bug"
This reverts commit e7fc0c89d2.
2021-05-20 16:23:56 +08:00
Bernard Xiong a0175e3d15
Merge pull request #4683 from Wang-Huachen/master
add ethernet driver for zynqmp-r5-axu4ev
2021-05-18 18:51:19 +08:00
lizhirui 5036816967 add qemu-riscv-virt64 bsp
add qemu-riscv-virt64 bsp
2021-05-18 09:57:25 +08:00
lizhirui 9a4e270f97 Merge branch 'RT-Thread:master' into master 2021-05-18 09:54:11 +08:00
Wang-Huachen b57278f830 remove redundant code in zynqmp-r5-axu4ev bsp 2021-05-16 10:00:17 +08:00
zhouji ffe8d06bd3 [update] 增加获取cortex-a generic timer频率接口 2021-05-14 16:08:32 +08:00
zhouji 1523e4680d [add] 添加gicv3中断控制器代码,更新menuconfig配置选项与utest的config.h 2021-05-14 16:08:31 +08:00
zhouji 42ce237dc9 [update] 整理cortex-a aarch32启动代码
1. 去除start_gcc.s中set_secondary_cpu_boot_address代码,这部分提取到qemu-vexpress-a9 bsp中。
2. 移动cpu.c中rt_hw_cpu_id函数到cp15_gcc.s,使用汇编实现,采用wake属性,方便bsp根据cpu特性获取CPU ID(多cpu集群中,不同厂家使用组合不一样).
3. 整理start_gcc.s 适应多核启动,原来的代码只考虑到双核的情况。
2021-05-14 15:30:31 +08:00
Wang-Huachen 41d55a4d47 format files in zynqmp-r5 libcpu 2021-05-14 14:50:06 +08:00
Wang-Huachen d205721462 add ethernet driver for zynqmp-r5-axu4ev 2021-05-13 16:33:40 +08:00
Wayne Lin 0da2fb5f9b Correct rvds.S including for armclang platform. 2021-05-10 16:17:11 +08:00
Bernard Xiong 01050e5e54
Merge pull request #4642 from xiaoxiaohuixxh/juicevm-port
Juicevm port
2021-04-27 10:08:51 +08:00
xiaoxiaohuixxh 1bc204722d [libcpu] Add JuiceVm SUPPORT. 2021-04-26 13:46:19 +08:00
Bernard Xiong f358426c49
Merge pull request #4583 from fenghuijie/master
[Cortex-A]add gic&gtimer interface
2021-04-09 15:46:03 +08:00
fenghuijie 62f764edc1 add type modifier for immediate data 2021-04-09 11:07:58 +08:00
fenghuijie 0b4416f0b4 add gic&gtimer interface 2021-04-08 15:46:15 +08:00
zhouji e939ffe355 优化未定义异常时自动开启FPU的判断条件,当FPU末开启时将自动开启。 2021-04-08 10:01:26 +08:00