Commit Graph

477 Commits

Author SHA1 Message Date
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
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
Zhang WenBin e2368bf7f3 fix: 修复arm926异常时打印栈名乱码 2022-09-05 11:07:06 +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
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
Aligagago 250b3cbc16 使用 AStyle.exe 统一代码格式 2022-07-27 11:45:29 +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
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
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
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
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
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
liukangcc 0e46c8a33d [update] support armclang 2021-09-26 10:46:21 +08:00
BernardXiong 0b13409c16 [BSP] fix compiling issue with libc 2021-09-11 18:09:22 +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 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 d6e86a67bb [add] 在cortex-a中增加,打开RT_USING_CPU_FFS宏定义时的_rt_ffs实现。 2021-05-27 17:39:03 +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
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 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
Bernard Xiong 199f73c72d
Merge pull request #4547 from rtthread-bot/rtt_bot
[update] RT-Thread Robot automatic submission
2021-04-02 18:37:40 +08:00
rtthread-bot 11dd63e9e9 Merge remote-tracking branch 'rtt_gitee/gitee_master' 2021-03-29 06:39:42 +00:00
Meco Man 6c907c3a47 [libcpu] auto formatted 2021-03-27 17:51:56 +08:00
Bernard Xiong e3060babb0
Merge pull request #4509 from yangjie11/license
[libcpu]update GPL license to Apache-2.0
2021-03-27 15:00:49 +08:00
yangjie a31f22f372 [libcpu]modify GPL license to Apache 2.0 2021-03-26 09:57:58 +08:00
yangjie 5726bf4f3f [libcpu]只添加在列表中的 cpu 移植文件 2021-03-25 16:22:51 +08:00
yangjie 7f99cd8342 [bsp] 移出 zynq7000 bsp 2021-03-25 11:14:33 +08:00
yangjie c17c727628 [libcpu]update GPL license to Apache-2.0 2021-03-24 15:58:47 +08:00
Bernard Xiong 85ef7013aa
Merge pull request #4293 from enkiller/0201-2045
[libcpu][cm33] 修复不同优化等级,函数行为不一致的问题
2021-03-03 08:53:45 +08:00
Bernard Xiong aaf4696c87
Merge pull request #4291 from enkiller/0201-1650
[libcpu][cm33] 安全相关的函数使用宏进行隔离
2021-02-24 18:19:48 +08:00
Bernard Xiong 7d72bdf303
Merge pull request #4314 from mysterywolf/mktime1
[bug][localtime]解决底层驱动格林威治时间与当地时间混乱使用的问题
2021-02-15 09:26:52 +08:00
liruncong 12d5ca60c5 [libcpu/arm]SECTION=>RT_SECTION(与catch2中SECTION冲突) 2021-02-09 23:25:34 +08:00
Meco Man 86ebf17a23 localtim改为gmtime 2021-02-07 21:49:25 +08:00
Meco Man 64bd41d654 update 2021-02-07 21:17:27 +08:00
tangyuxin 360d7e48ab [libcpu][cm33] 修复不同优化等级,函数行为不一致的问题 2021-02-01 21:01:14 +08:00
tangyuxin 2e9fc0c4ff [libcpu][cm33] 安全相关的函数使用宏进行隔离 2021-02-01 16:53:39 +08:00
Wayne Lin 235296073f Remove platform-specific code in common. 2021-01-12 18:31:44 +08:00
shuobatian 791527caca add armclang support 2021-01-11 20:07:12 +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
Wang-Huachen 7258328923 bsp:
add support to zynqmp-r5 core and zynqmp-r5-axu4ev board
2020-11-30 13:13:08 +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
shaojinchun dae274e1f2 fix gic ack irq problem 2020-06-30 17:32:14 +08:00
xuzhuoyi 1f2a7b564c [libcpu][arm][cortex-m23] Change exception return call address to 0xFFFFFFFD 2020-06-18 10:53:34 +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
bigmagic 92ab0fd593 fix startup code address relative jump 2020-06-04 00:03:07 +08:00
aozima c3d63e49de set Systick interrupt priority to the lowest 2020-05-30 15:23:25 +08:00
bigmagic 38f400d50a add raspi4 32bit mode bsp 2020-05-25 17:30:05 +08:00
David Lin 5e507448ee
Update start_gcc.S 2020-04-17 19:18:52 +08:00
David Lin 90f41ef8a2
Update start_gcc.S 2020-04-17 19:12:18 +08:00
Jonne b3c7bc964b 更新mini2440 bsp包:
1、加入Kconfig以支持图形化菜单配置
2、编译脚本中添加动态模块编译参数
3、开启自动初始化机制支持
4、重构串口驱动以解决开启posix支持后终端无响应问题
5、解决dm9000网卡驱动link up问题
6、添加mnt.c文件用来挂载文件系统
2020-04-10 23:28:36 +08:00
bigmagic e6600dbf10 remove cortex-a53 from libcpu/arm 2020-03-18 14:22:37 +08:00
nongxiaoming 607ed93513 [libcpu]context-m33:fix label error in context_gcc.S. 2020-02-11 21:39:35 +08:00
bigmagic 08f55d9fda add raspi3-32 in bsp 2020-01-15 16:38:22 +08:00
bigmagic fdde8ab198 add raspi2 and raspi3 BSP 2020-01-10 10:38:21 +08:00
tangyuxin a16f27d84e [libcpu][cm33] support cortex-m33 2019-10-29 09:45:17 +08:00
ZYH cabdbf5bbf [libcpu][M7]修复cache编译警告
Signed-off-by: ZYH <lymz@foxmail.com>
2019-10-23 15:04:34 +08:00
aozima 525d353403 fixed linker script and stack align issues. 2019-10-22 09:47:41 +08:00
shaojinchun cb07e5fb24 开放spinlock相关函数 2019-09-27 14:38:33 +08:00
tangyuxin 8316646b85 [libcpu][arm] 修复因提前返回,导致sp指针不对称问题 2019-09-19 18:27:07 +08:00
xiaofan 94551979e0 Fix Cortex-M0 Cannot Execute Reboot
Signed-off-by: xiaofan <xfan1024@live.com>
2019-09-07 21:20:46 +08:00
yangjie 31ffc4582c [libcpu/arm]add __rt_ffs() for armclang in CORTEX M3/4/7 2019-07-03 18:47:11 +08:00