Commit Graph

479 Commits

Author SHA1 Message Date
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
ZYH fc155f8810 fix cortex-a cahce 2019-06-19 10:40:13 +08:00
Bernard Xiong 0b4e2a984e
Merge pull request #2731 from jesven/a9-fpu
add cortex-a fpu support
2019-05-29 18:30:44 +08:00
shaojinchun 043611b98a add cortex-a fpu support 2019-05-29 08:40:41 +08:00
neal 257d21c0bd [bsp][at91sam9g45]Fix build bugs which caused by the change of libcpu/arm/arm926/start_gcc.S 2019-05-13 18:36:31 -07:00
Bernard Xiong ec6cb9f260 [BSP][qemu-vexpress-a9] code cleaup for compiling warning. 2019-05-12 15:07:26 +08:00
shaojinchun 6cdfb2ac92 fix signal code 2019-05-11 09:34:26 +08:00
Bernard Xiong d729448f5e [libcpu][arm/cortex-a] Add correct comments. 2019-05-09 08:48:38 +08:00
misonyo 0f33da3f0e [libcpu/cortex-m7]add cache driver 2019-04-27 17:35:46 +08:00
shaojinchun 1e7bd3d8a1 修改lwp支持中arm cortex-a的swi入口函数处理 2019-04-27 13:54:51 +08:00
qz721 61f2a71511 Rename 'platform.h' in 'imx6ul' and 'qemu-vexpress-a9' BSPs.
This filename conflicts with the 'mbedtls' package. They are renamed
in the name of the corresponding chips and included in 'board.h'.
Files that rely on this file should include 'board.h' instead.
2019-04-26 10:50:48 +08:00
Bernard Xiong 44c3f55996
Merge pull request #2527 from xuzhuoyi/gd32e230
[bsp] Add GD32E230K-START support
2019-04-07 16:59:27 +08:00
Bernard Xiong 238c93468f
Merge pull request #2530 from qz721/libcpu_cortex_a
Disable the data alignment check.
2019-04-01 17:43:19 +08:00
qz721 b10039f396 Disable the data alignment check. 2019-04-01 14:21:59 +08:00
xuzhuoyi fd8eb60a67 [bsp][gd32e230k-start] Update Kconfig 2019-03-31 23:26:35 +08:00
xuzhuoyi 5a460aadcd [bsp][gd32e230k-start] Update Sconscript 2019-03-31 21:17:55 +08:00
xuzhuoyi 5d166c389d [bsp][gd32e230k-start] Add GD32E230K-START BSP port 2019-03-31 15:44:24 +08:00
Bernard Xiong 459ddc3b06
Merge pull request #2523 from qz721/libcpu_cortex_a
Add standard rt-thread cache interfaces for arm/cortex-a.
2019-03-30 05:57:47 +08:00
qz721 fbd40fc5b8 Add standard rt-thread cache interfaces for arm/cortex-a.
Add cache invalidate and clean interfaces.
Adjust the default cache type of memory to 'WriteBach with WriteAllocate'.
2019-03-29 20:22:25 +08:00
BernardXiong bd8f0d0423 [libcpu] Fix the build directory issue 2019-03-26 13:36:01 +00:00
qz721 2eb1bef773 Make 'qemu-vexpress-a9' and 'imx6ul' use the same libcpu code. 2019-03-25 20:03:49 +08:00
shaojinchun 29264edde8 修改arm926中machine.c的协议声明 2019-03-14 17:54:21 +08:00
shaojinchun 159def753f arm926内容整理 2019-03-14 17:24:35 +08:00
Bernard Xiong bde47018b8 [libcpu] Add SConscript in libcpu. 2019-01-07 06:09:45 +08:00
zhuhongbing fb693418ee add project support for at91sam9260, add support for at91sam9g45 2018-12-26 12:50:52 +08:00
yufanyufan77 b40a8f816b 添加cpu复位函数
RT_WEAK void rt_hw_cpu_reset(void)
2018-12-14 08:58:40 +08:00
liruncong 849421709b [libcpu/arm/zynq7000]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:43:02 +08:00
liruncong 3e05f24608 [libcpu/arm/sep4020]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:42:54 +08:00
liruncong 46c5c8267a [libcpu/arm/s3c24x0]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:36:48 +08:00
liruncong 96691760dc [libcpu/arm/realview-a8-vmm]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:36:34 +08:00
liruncong 7be87217b5 [libcpu/arm/lpc24xx]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:36:18 +08:00
liruncong 5321f202c4 [libcpu/arm/lpc214x]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:35:58 +08:00
liruncong 8ce36092c5 [libcpu/arm/cortex-r4]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:35:43 +08:00
liruncong cbe07afabe [libcpu/arm/cortex-a]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:35:34 +08:00
liruncong 8200137327 [libcpu/arm/AT9ASAM7X]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:35:17 +08:00
liruncong 2635cc1694 [libcpu/arm/am335x]rt_hw_interrupt_install函数name参数增加const限定 2018-12-05 20:35:02 +08:00
Bernard Xiong bd731fe1f0 [license] Fix the bad license header for lpc24xx. 2018-10-16 09:18:53 +08:00
Bernard Xiong 7c425408b4 [license] Change the license of libarm to Apache. 2018-10-15 01:35:07 +08:00
Bernard Xiong 1253a1b445
Merge pull request #1812 from liruncong/am335x-mmu
修正am335x中mmu问题
2018-10-10 08:49:18 +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 ff08faf605 [Kernel] Adjust the copyright information 2018-09-25 11:06:07 +08:00
Bernard Xiong b98a0ba804 [Kernel] Add ARMCC 6.x support. 2018-09-23 12:08:44 +08:00
liruncong af1044955a 修正am335x中mmu问题
1) mmu_disable_dcache/mmu_enable_dcache等, 应使用rt_cpu_xxx相关函数,否则会跑飞. armcc并没有提供rt_cpu_xxx对应汇编代码,先删除
2) mmu_setmtt抽取为函数mmu_setmtts,并增加RT_WEAK.mmu_setmtts此处作为示例函数.实际用户板子可在bsp中重新实现该函数.可在rt_components_board_init函数前调用rt_hw_mmu_init
2018-09-15 11:37:14 +08:00
liruncong 6d16685011 rt_hw_backtrace中多余括号删除. armclang给出警告 2018-09-10 19:58:28 +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 6c39b2d54d [libcpu][comtex-m4] enhancement hard fault exception handler. 2018-07-25 21:39:44 +08:00
aozima a0fe71f78f fixed get sp in HardFault_Handler. close #1646 2018-07-25 21:39:43 +08:00
= 944b0f1c94 fix annotation error 2018-06-13 15:04:31 +08:00
ArdaFu 7a1f8ee1c4 [libcpu][arm][arm926] Using C header file to define stack and heap size. 2018-06-04 13:34:45 +08:00
aozima dd1041bb7f [libcpu]: fixed #1196 FPU FPCA issue. 2018-01-31 18:54:11 +08:00
SummerGift fc7a5abc76 [libcpu]: add 8-byte alignment for arm architecture && optimize code format 2017-12-21 16:37:38 +08:00
SummerGift 336207ad31 [libcpu]: add 8-byte alignment for armv6 architecture 2017-12-21 15:35:48 +08:00
SummerGift a4a85a28da [libcpu]:optimize code format 2017-12-21 15:14:23 +08:00
SummerGift e7b1786759 [libcpu]:optimize code format 2017-12-21 14:55:34 +08:00
SummerGift 15715692d2 [libcpu]: add 8-byte alignment for armv6 architecture 2017-12-21 10:13:47 +08:00
SummerGift eb72d19179 [libcpu] add volatile for __asm. 2017-11-22 09:54:36 +08:00
SummerGift 2488624a18 [libcpu] add volatile for asm (" mcr ") or asm (" mrc ") instruct. 2017-11-22 09:54:27 +08:00
Bernard Xiong f6170a6e5b [BSP] add i.MX 6UL BSP 2017-11-01 13:30:17 +08:00
weety 6085f6826d [bsp][at91sam9260] Fix the problem of the finsh function failure by using component initialization. 2017-10-19 23:46:17 +08:00
bernard 5e3b3b19a6 [BSP] change the type of cmd.
1. Change the type of cmd to 'int';
2. Remove RT_LWIP_USING_RT_MEM macro;
2017-10-16 13:23:03 +08:00
aozima cb247e913f update libcpu: cortex-m0 fault handlers always enable. 2017-09-01 10:22:55 +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
zchong-cht a74a2a25a8 Add libcpu/arm/am335x/context_iar.S file 2017-02-06 21:57:15 +08:00
Bernard Xiong 4e95fdff4a [BSP] Update VFP code in armv6.
committed by FH.
2016-05-20 14:20:34 +08:00
Bernard Xiong 923594c7ab [BSP] Enable VFP.
committed by FH.
2016-05-20 12:24:51 +08:00
Bernard Xiong 43f68131ce [BSP] Add fh8620 bsp from Shanghai Fullhan Microelectronics Co., Ltd.
FH8620 BSP
Copyright (c) 2016 Shanghai Fullhan Microelectronics Co., Ltd.
All rights reserved
2016-04-18 13:52:39 +08:00
zchong_cht 3983f39f34 Add iar compiler support for am335x. 2015-11-11 23:44:05 +08:00
Bernard Xiong 3faca6d5df [BSP] update stm32f7-disco
code cleanup.
2015-09-24 16:03:09 +08:00
weety 2021f5a276 Add the license. 2015-09-04 21:58:08 +08:00
weety b71cb4c09d Add dm365 porting. 2015-09-04 12:30:20 +08:00
nongxiaoming af8a91457e [bsp]add the stm32f74x bsp. 2015-08-07 13:30:13 +08:00
aozima 9fe3cbf76f Align thread stack to 8 byte. 2015-06-05 19:14:08 +08:00
aozima 314379cc77 implement __user_initial_stackheap 2015-06-04 12:23:24 +08:00
aozima be76b10be6 Align stack address to 8 byte. 2015-06-04 11:59:18 +08:00
aozima 1fa5711712 fixed assembly warnings. 2015-05-22 16:48:01 +08:00
aozima 73df162d3f fixed assembly warnings. 2015-05-13 11:57:34 +08:00
Adrian Huang 4222677933 [libcpu][am335x] Fix the booting failure when enabling MMU
Since the 16 domains are configured as the client domains in
mmu_setttbase(), a Permission fault is generated if the XN bit
(Execute-never) is set in the short-descriptor translation table
(for section and supersection). This leads to the booting failure
when enabling MMU for beagleboard bsp. Here is log:

----------------------------------------------------------------
SD/MMC found on device 0
reading uEnv.txt
117 bytes read in 3 ms (38.1 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc ...
Running uenvcmd ...
reading rtthread.bin
162624 bytes read in 24 ms (6.5 MiB/s)
\## Starting application at 0x80200000 ...

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

This commit removes the XN bit configuration in the section of the
short-descriptor translation table. The OS can be booted successfully
with applying this commit.
2015-05-11 10:36:11 +08:00
ardafu a13132b302 [libcpu][arm926] Optimize irq trap code. 2015-05-04 16:13:43 +08:00
ardafu 49fa5c44d7 [libcpu][arm926] Optimize code
1. Combine code for IAR and GCC in file mmu.c and cpuport.c
2. Remove remap code in start_xxx.S. User should config MMU to map vector table to visual address 0x0
2015-04-22 11:19:50 +08:00
ardafu 175e357ace [libcpu][arm926] Remove unused SPSR register PUSH/POP when os switch thread. 2015-04-16 14:13:43 +08:00
ardafu cf3d639fcb [libcpu][arm926] Define vector table start at BSP/{board}/platform/ assemble INC files. 2015-04-16 10:35:12 +08:00
ardafu 6aa242645f 1. [bsp][sam9260] Fix the bug that auto reset after boot 20s. Disable watchdog in rt_lovel_level_init function.
2. [bsp][sam9260] Modify SCONS scripts to support IAR tool chain.
3. [bsp][sam9260] Move link strips in to folder link_scripts.
4. [libcpu][arm926] Add copy right to source file and format code.
2015-04-15 16:13:30 +08:00
ardafu 39452b67b0 1. [cpu] split ARM926 cpu code from AT91SAM9260 BSP 2015-04-14 21:56:34 +08:00
Bright Pan 0b5958d700 Fix compile warning:
..\..\libcpu\arm\cortex-m3\context_rvds.S(207):
	warning: A1581W: Added 2 bytes of padding at address 0xd6
2015-03-09 09:31:23 +08:00
陈豪 62af08370b Merge pull request #2 from RT-Thread/master
sync
2014-09-20 01:19:42 +08:00
bernard 267c61ebce [libcpu] Add builtin ffs implementation for Cortex-M4. 2014-09-11 12:51:33 +08:00
陈豪 fd6ef4b235 [libcpu]am335x edit vector
vector_undef and vector_dabt
2014-08-12 18:26:22 +08:00
aozima 2c47f2e683 Fix some spell error; 2014-07-31 13:59:25 +08:00
Grissiom 97fb91dcc6 bsp: add zynq7000 2014-06-27 14:12:36 +08:00
Grissiom 2b7be29cad [bsp/rva8] enable group{0,1} interrupt forwarding in gic initialization
When RT-Thread is running stand alone, it forgot to enable the
distributor of GIC.
2014-04-08 11:54:03 +08:00
Grissiom c0f0c2322f [libcpu/arm] remove useless cpsr updating in rt_hw_context_switch_to
This piece of code will enable the interrupt early before switching to
the first thread. Although it is harmless, but not prefect.
2014-04-08 11:24:04 +08:00
Grissiom 28f11fdd7b [vmm] add realview-pb-a8 VMM support 2014-04-03 17:59:14 +08:00
RTsien 9382a7105f add CM_PER_UARTx_CLKCTRL 2014-01-11 15:14:36 +08:00
Grissiom 0c9b9ced31 cortex-r4: use byte to allocate the stack
Unit of "byte" is more intuitive than "long".
2013-11-17 12:49:08 +08:00
Grissiom a8520ed383 cortex-r4: let svc mode reuse the stack of IRQ on startup
As the svc stack is the stack of threads, there is no need to allocate a
separate stack for the startup. Reuse the IRQ stack should be OK.

Tested on rm48 board.
2013-11-17 12:49:07 +08:00
Bright Pan 06987e72e5 Fix hardfault bug for gcc port
for 2013-02-20 aozima commmit "port for gcc", but the commit is
not tested,and the kernel is breakdown in context_gcc.S, the file
is a copy from cortex-m3,but not port for cortex-m0, so i complete
this port for aozima, test it in stm32f0discovery board ,
and it works fine.
2013-11-04 16:10:11 +08:00
Grissiom 377c6e6cc9 cortex-r4: dump register on traps
We could not handle any traps except IRQ/FIQ.
2013-10-20 23:46:50 +08:00