emcraftsystems / linux-emcraft Goto Github PK
View Code? Open in Web Editor NEWuClinux for Cortex-M3 and Cortex-M4, version 2.6.33
Home Page: http://www.emcraft.com
License: Other
uClinux for Cortex-M3 and Cortex-M4, version 2.6.33
Home Page: http://www.emcraft.com
License: Other
This is the source tree of the uClinux kernel that is part of the Linux Cortex-M distribution maintained by Emcraft Systems. The list of Cortex-M3 and Cortex-M4 MCUs and boards supported by this version of Linux Cortex-M is available at http://www.emcraft.com. If you want to contribute code to this source tree, please email your patches to [email protected].
The default configuration is unknown, so compiling the kernel requires a lot of additional knowledge. Can you please add a defconfig for the lpc1850?
Hi,
fb.c was last updated here 676994c with the comment
doesn't work yet
What is the status? Are you planing to fix it? If not, can you give any hints on what is left to do?
Thanks for your help!
Cheers,
Francois
Hi,I keep getting this error at the final stage of cpmplilation when the ZImage is begin created.THe erroris as follows:
SYSMAP System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
arch/arm/boot/compressed/head.S: Assembler messages:
arch/arm/boot/compressed/head.S:440: Error: r15 not allowed here -- `mov r2,pc,lsr#20'
make[2]: *** [arch/arm/boot/compressed/head.o] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [uImage] Error 2
What could be the problem, please help
Oh, and by the way Thank a lot for doing this work it's helping a lot . Also do you by any chance have a detailed tutorial on how to port Linux kernel new Soc or a new processor or a given development board, and also the same for u-boot.
Thanks
I tried to compile the sources for Cortex-M4.
It's my first attempts and I really confused... I started with `make menuconfig' where I disabled MMU-options and chose STMicro STM32 processor. Then I lunched 'make' and got these errors.
arch/arm/kernel/entry-common.S: Assembler messages:
arch/arm/kernel/entry-common.S:29: Error: lo register required -- `ldr r1,[tsk,#0]'
arch/arm/kernel/entry-common.S:30: Error: unshifted register required -- `tst r1,#0x000000ff'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldr lr,[sp,#36]'
arch/arm/kernel/entry-common.S:36: Error: only lo regs allowed with immediate -- `cmp lr,#0xfffffffd'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldr lr,[sp,#64]'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia sp,{r0-r3,r12}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldr r12,[sp,#32]'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `add r11,sp,#44'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia r11,{r1-r7}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `stmia r12,{r0-r7}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:51: Error: unshifted register required -- `tst r1,#(1<<1)'
arch/arm/kernel/entry-common.S:53: Error: unshifted register required -- `tst r1,#(1<<0)|(1<<2)'
arch/arm/kernel/entry-common.S:68: Error: lo register required -- `ldr r1,[tsk,#0]'
arch/arm/kernel/entry-common.S:69: Error: unshifted register required -- `tst r1,#0x000000ff'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldr lr,[sp,#36]'
arch/arm/kernel/entry-common.S:75: Error: only lo regs allowed with immediate -- `cmp lr,#0xfffffffd'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldr lr,[sp,#64]'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia sp,{r0-r3,r12}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldr r12,[sp,#32]'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `add r11,sp,#40'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia r11,{r0-r7}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `stmia r12,{r0-r7}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:83: Error: lo register required -- `lsr tsk,tsk,#13'
arch/arm/kernel/entry-common.S:83: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov tsk,tsk,lsl#13'
arch/arm/kernel/entry-common.S:84: Error: lo register required -- `ldr r1,[tsk,#0]'
arch/arm/kernel/entry-common.S:85: Error: only lo regs allowed with immediate -- `mov why,#1'
arch/arm/kernel/entry-common.S:86: Error: unshifted register required -- `tst r1,#(1<<8)'
arch/arm/kernel/entry-common.S:128: Error: lo register required -- `stmdb sp!,{r0-r3,lr}'
arch/arm/kernel/entry-common.S:134: Error: lo register required -- `ldmia sp!,{r0-r3,ip,lr}'
arch/arm/kernel/entry-common.S:143: Error: lo register required -- `ldmia sp!,{r0-r3,ip,lr}'
arch/arm/kernel/entry-common.S:147: Error: lo register required -- `stmdb sp!,{r0-r3,lr}'
arch/arm/kernel/entry-common.S:153: Error: lo register required -- `ldr lr,[fp,#-4]'
arch/arm/kernel/entry-common.S:154: Error: lo register required -- `ldmia sp!,{r0-r3,pc}'
arch/arm/kernel/entry-common.S:157: Error: lo register required -- `ldr r1,[fp,#-4]'
arch/arm/kernel/entry-common.S:162: Error: lo register required -- `ldr lr,[fp,#-4]'
arch/arm/kernel/entry-common.S:163: Error: lo register required -- `ldmia sp!,{r0-r3,pc}'
arch/arm/kernel/entry-common.S:194: Error: only lo regs allowed with immediate -- `cmp lr,#0xfffffffd'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `add r12,sp,#32'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `stmdb sp!,{r4-r12,lr}'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `stmia sp,{r4-r12,lr}'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `ldmia r12,{r0-r3,r6,r8-r10}'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `add r12,sp,#40'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `stmia r12,{r0-r3,r6,r8-r10}'
arch/arm/kernel/entry-common.S:207: Error: only lo regs allowed with immediate -- `mov fp,#0'
arch/arm/kernel/entry-common.S:246: Error: unshifted register required -- `tst r8,#0x01000000'
arch/arm/kernel/entry-common.S:247: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:248: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:267: Error: lo register required -- `lsr tsk,tsk,#13'
arch/arm/kernel/entry-common.S:267: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov tsk,tsk,lsl#13'
arch/arm/kernel/entry-common.S:269: Error: lo register required -- `ldr ip,[tsk,#0]'
arch/arm/kernel/entry-common.S:282: Error: unshifted register required -- `bic scno,scno,#0xff000000'
arch/arm/kernel/entry-common.S:283: Error: unshifted register required -- `eor scno,scno,#0'
arch/arm/kernel/entry-common.S:286: Error: lo register required -- `stmdb sp!,{r4,r5}'
arch/arm/kernel/entry-common.S:287: Error: unshifted register required -- `tst ip,#(1<<8)'
arch/arm/kernel/entry-common.S:292: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:295: Error: only lo regs allowed with immediate -- `mov why,#0'
arch/arm/kernel/entry-common.S:297: Error: unshifted register required -- `eor r0,scno,#0'
arch/arm/kernel/entry-common.S:316: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:317: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:365: Error: unshifted register required -- `bic scno,r0,#0x900000'
arch/arm/kernel/entry-common.S:367: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:368: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:369: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:370: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:371: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:372: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:373: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:393: Error: lo register required -- `add ip,sp,#8'
arch/arm/kernel/entry-common.S:394: Error: lo register required -- `str ip,[sp,#4]'
arch/arm/kernel/entry-common.S:414: Error: instruction not supported in Thumb16 mode -- `teq r1,#88'
arch/arm/kernel/entry-common.S:415: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:420: Error: instruction not supported in Thumb16 mode -- `teq r1,#88'
arch/arm/kernel/entry-common.S:421: Error: Thumb does not support conditional execution
I use CodeSourcery G++ Lite toochain. Host Ubuntu 14.04.
Thanks a lot for your help.
Hello Dear, thanks a lot of for uCLinux,
I was tried to boot Linux to our TWR-K70F120M Development board. I applied all requirements from your Linux Kinetis BSP Guide for the Freescale TWR-K70F120M Board pdf's . That include(code warrior, elevator modules setup, debugger options, flash operations) etc.
So i prepared Linux System for building u-boot from source code and i can compile u-boot. I successfully flashed to u-boot file to FLASH but problem is when i flashed to u-boot to our development board i see "HARD FAULT exception" on RS232 Serial of elevator serial module.
All u-boot prints listed below. I tried prebuild u-boot image too. But same problem occuring. What's is wrong is here?. Is that jumper or hardware fault?. What can i do? Thanks you.
Prebuilt U-Boot
U-Boot 2010.03-linux-cortexm-1.12.0 (Dec 13 2013 - 16:42:39)
CPU : Freescale Kinetis series (Cortex-M4)
Freqs: SYSTICK=120MHz,CCLK=120MHz,PCLK=60MHz,MACCLK=50MHz
Board: Freescale TWR-K70F120M rev 1
DRAM: 128 MB
NAND: 256 MiB
Bad block table not found for chip 0
Bad block table not found for chip 0
UNHANDLED EXCEPTION: HARD FAULT
R0 = ffff0000 R1 = 87f00008
R2 = 000a0000 R3 = 0000ffff
R12 = 00000000 LR = ff0000ff
PC = 00008af4 PSR = 01000000
Custom u-boot from i pulled and compiled from emcraft-u github
U-Boot 2010.03 (Sep 18 2017 - 04:39:26)
CPU : Freescale Kinetis series (Cortex-M4)
Freqs: SYSTICK=120MHz,CCLK=120MHz,PCLK=60MHz,MACCLK=50MHz
Board: Freescale TWR-K70F120M rev 1
DRAM: 128 MB
NAND: 256 MiB
Bad block table not found for chip 0
Bad block table not found for chip 0
UNHANDLED EXCEPTION: HARD FAULT
R0 = 00020000 R1 = 00040000
R2 = 000a3f00 R3 = 000a3f38
R12 = 2000fdd8 LR = 00000f1d
PC = 00008b4e PSR = 01000000
Hello Friend,
I'm trying to build stock kernel from your linux-k70 bsp. When i entered /projects/networking directory and execute make iam getting this error output
make[1]: Leaving directory '/home/murat/Desktop/linux/A2F/busybox' cp -f networking.initramfs /home/murat/Desktop/linux/linux/initramfs-list-min rm -f /home/murat/Desktop/linux/linux/usr/initramfs_data.cpio \ /home/murat/Desktop/linux/linux/usr/initramfs_data.cpio.gz cp -f networking.kernel.K70 /home/murat/Desktop/linux/linux/.config cp -f /home/murat/Desktop/linux/linux/arch/arm/kernel/vmlinux.lds.S.good \ /home/murat/Desktop/linux/linux/arch/arm/kernel/vmlinux.lds.S ([ -e networking.lds.K70 ] && \ cp -f networking.lds.K70 \ /home/murat/Desktop/linux/linux/arch/arm/kernel/vmlinux.lds.S) || \ true; make -C /home/murat/Desktop/linux/linux uImage SAMPLE=networking make[1]: Entering directory '/home/murat/Desktop/linux/linux' scripts/kconfig/conf -s arch/arm/Kconfig CHK include/linux/version.h CHK include/generated/utsrelease.h make[2]: 'include/generated/mach-types.h' is up to date. CALL scripts/checksyscalls.sh <stdin>:46: warning: "__IGNORE_migrate_pages" redefined /home/murat/Desktop/linux/linux/arch/arm/include/asm/unistd.h:474: note: this is the location of the previous definition CHK include/generated/compile.h GEN usr/initramfs_data.cpio AS usr/initramfs_data.o LD usr/built-in.o LDS arch/arm/kernel/vmlinux.lds TIMEC kernel/timeconst.h Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373. /home/murat/Desktop/linux/linux/kernel/Makefile:133: recipe for target 'kernel/timeconst.h' failed make[2]: *** [kernel/timeconst.h] Error 255 Makefile:884: recipe for target 'kernel' failed make[1]: *** [kernel] Error 2 make[1]: Leaving directory '/home/murat/Desktop/linux/linux' ../Rules.make:90: recipe for target 'networking.uImage' failed make: *** [networking.uImage] Error 2
bc package at latest version, how do i fix this error ? thanks a lot of.
Hi, I'm to use this kernel for the a2f-actel-dev-brd platform. The kernel build sucessifully, and load using u-boot. I've build busybox 1.16.0 sucessifully and update my initramfs-list-min file with basic character devices in /dev i.e console and the necesary $slinks for the busybox including /bin/init, but I keep getting the above error.
Please help
aaron@ubuntu:~/workspace/linux-emcraft$ make
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
:46: warning: "__IGNORE_migrate_pages" redefined
/home/aaron/workspace/linux-emcraft/arch/arm/include/asm/unistd.h:474: note: this is the location of the previous definition
CHK include/generated/compile.h
Kernel: arch/arm/boot/Image is ready
CC arch/arm/boot/compressed/misc.o
In file included from arch/arm/boot/compressed/misc.c:37:
arch/arm/mach-stm32/include/mach/uncompress.h: In function 'putc':
arch/arm/mach-stm32/include/mach/uncompress.h:32: error: 'STM32_DBG_USART_APBX' undeclared (first use in this function)
arch/arm/mach-stm32/include/mach/uncompress.h:32: error: (Each undeclared identifier is reported only once
arch/arm/mach-stm32/include/mach/uncompress.h:32: error: for each function it appears in.)
arch/arm/mach-stm32/include/mach/uncompress.h:33: error: 'STM32_DBG_USART_OFFS' undeclared (first use in this function)
make[2]: *** [arch/arm/boot/compressed/misc.o] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [zImage] Error 2
Hi,
I was wondering whether there are any plans to integrate this work into the mainline kernel, or at least port it to a more recent version of Linux.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.