Commit Graph

45 Commits

Author SHA1 Message Date
Meco Man 6d4503363a [libcpu][SConscript]规范group名为libcpu 2024-02-20 08:39:05 +08:00
tangzz98 acc66c5479
实现MPU抽象层 (#8080)
- 为RT-Thread设计MPU抽象层,支持ARMV7-M,ARMV8-M架构,让用户使用MPU检测栈溢出等内存问题,实现线程内存隔离
- 在components/mp目录下提供通用的API,libcpu目录下提供各处理器架构的具体实现
- 在STM32U575 NUCLEO, STM32H75 NUCLEO开发板测试通过
2023-10-30 08:24:55 -04:00
Meco Man c6a2f5b7bd rt_hw_cpu_shutdown: implement default weak function
and remvoe duplicated default functions in each cpu/bsp level
2023-08-08 22:34:25 -04:00
Meco Man cb810dfe75 rt_hw_cpu_reset: remove all other rt_weak 2023-08-08 22:34:25 -04:00
Supper Thomas 350626841a
[libcpu]fix RT_ASSERT undefine (#7816) 2023-07-14 09:47:02 +08:00
Shicheng Chu 93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object (#7131) 2023-04-04 09:06:27 -04:00
wdfk-prog 7296117203 [cortex-m7]rt_hw_cpu_dcache_ops函数uint32_t替换为rt_uint32_t 2023-02-07 12:05:27 -05:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08: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
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
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
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
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
Meco Man 5187d75af5 [armclang] 使用__clang__代替__CLANG_ARM 2021-12-29 14:15:38 -05: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
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
guozhanxin 43d19a8b78 [bsp] stm32h750-artpi-h750/stm32f412-st-nucleo support armclang. 2021-07-01 01:31:56 +08:00
Meco Man 6c907c3a47 [libcpu] auto formatted 2021-03-27 17:51:56 +08:00
yangjie eeaf1fcc50 resolve Conflicts
bsp/nrf52832/board/Sconscript
	bsp/nrf52832/startups/Sconscript
	bsp/raspberry-pi/raspi4-32/driver/SConscript
2020-12-28 12:02:31 +08:00
yangjie ef62febf1f [SConscript]update group name 2020-12-19 16:49:11 +08:00
yangjie11 ba83ddc3c4 [SConscript] change libcpu to LIBARCH,and correcte letter case 2020-11-30 15:52:43 +08:00
yangjie11 91261e25b9 [SConscript]rename group name 2020-11-20 13:38:11 +08:00
张世争 355f8dd95c [libcpu][update]重启与关机函数:rt_hw_cpu_shutdown、rt_hw_cpu_reset,补充WEAK属性 2020-11-20 08:49:51 +08:00
xieyangrun d2eaa452d6 [libcpu/arm/*/cpuport.c]fixed __rt_ffs bug on account of armclang LTO. 2020-06-18 09:19:10 +08:00
aozima c3d63e49de set Systick interrupt priority to the lowest 2020-05-30 15:23:25 +08:00
ZYH cabdbf5bbf [libcpu][M7]修复cache编译警告
Signed-off-by: ZYH <lymz@foxmail.com>
2019-10-23 15:04:34 +08:00
tangyuxin 8316646b85 [libcpu][arm] 修复因提前返回,导致sp指针不对称问题 2019-09-19 18:27:07 +08:00
yangjie 31ffc4582c [libcpu/arm]add __rt_ffs() for armclang in CORTEX M3/4/7 2019-07-03 18:47:11 +08:00
misonyo 0f33da3f0e [libcpu/cortex-m7]add cache driver 2019-04-27 17:35:46 +08:00
Bernard Xiong bde47018b8 [libcpu] Add SConscript in libcpu. 2019-01-07 06:09:45 +08:00
Bernard Xiong 7c425408b4 [license] Change the license of libarm to Apache. 2018-10-15 01:35:07 +08:00
Bernard Xiong d96027f156 [libcpu] Fix the FPU definition in M4/M7 for ARM Clang 2018-09-25 11:08:58 +08:00
Bernard Xiong b98a0ba804 [Kernel] Add ARMCC 6.x support. 2018-09-23 12:08:44 +08:00
hichard_ren@yeah.net b46e7f3172 add rt_hw_cpu_reset for cortex-m cpu 2018-08-01 11:57:56 +08:00
aozima d431f4b5f9 [libcpu][comtex-m7] enhancement hard fault exception handler. 2018-07-25 21:39:45 +08:00
aozima dd1041bb7f [libcpu]: fixed #1196 FPU FPCA issue. 2018-01-31 18:54:11 +08:00
aozima 9bbc4e5e6b update cortex-m libcpu: fixed compile error. 2017-08-23 16:13:51 +08:00
aozima 9b7303e511 update libcpu: ensure fault enable. 2017-08-18 11:12:58 +08:00
Bernard Xiong 3faca6d5df [BSP] update stm32f7-disco
code cleanup.
2015-09-24 16:03:09 +08:00
nongxiaoming af8a91457e [bsp]add the stm32f74x bsp. 2015-08-07 13:30:13 +08:00