uClinux for Kinetis K70

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

uClinux for Kinetis K70

6,101 Views
vladimirkhusain
Contributor III

uClinux for Kinetis K70 using TWR-K70F120M-KIT as a hardware reference platform is available here:

 

http://www.emcraft.com/index.php/products/95

16 Replies

1,505 Views
johnpresenna
Contributor I

Hi, Does the uclinux support UBIFS instead of JFFS2

0 Kudos

1,505 Views
sergei_p
Contributor III

Hello John,

If you mean the K70-SOM BSP, Emcraft doesn't yet have BSP release supporting UBIFS. We however supported Linux 4.5/UBIFS for K70 in some consulting project. Please contact us if you are interested, Services .

0 Kudos

1,504 Views
LinhNguyen
Contributor III

Does anyone have u-boot firmware/source code for K70???

0 Kudos

1,504 Views
vladimirkhusain
Contributor III

Linh Nguyen wrote:

Does anyone have u-boot firmware/source code for K70???


Emcraft's port of Linux for K70 uses U-boot as a bootloader. Full source is included in the distribution.

0 Kudos

1,505 Views
LinhNguyen
Contributor III

Thanks for your reply.

I know that Emcraft has. But I don't have money to buy :smileyhappy:.

 

Maybe someone else has ported u-boot to K70 and feels happy to share it with us ^_^!. 

Thanks!!!

0 Kudos

1,505 Views
lstorm
Contributor I

I do not get this emcraft uClinux. How can be a code derived from GPL (modification of Linux) not released to public? It is against the law.

What does Freescale say about such things?

Or is there source code available anywhere?

0 Kudos

1,505 Views
iafg
Contributor IV

My understanding is that it's technically not against the law. You are allowed to charge a fee for services, and for delivery of the source "media". However, once the code is "in the wild" i don't think there is anything they could do to prevent sharing of the code.

SO if someone ELSE were to share the code after they got it... this can't be controlled by the original porting company.

 

Having said that, I'm sure they went to a lot of effort and deserve compensation, and could provide excellent technical service and support on the port.

0 Kudos

1,505 Views
vladimirkhusain
Contributor III

I'd like to provide some comments on the topics raised in the posts above.

 

The minimal $99 we charge is for 6 months of email support and the guarantee of several update releases.  Indeed we have put a lot of time into this port and  want it to be a professionally maintained and supported starting point for customers doing  serious projects.  This small charge helps us keep resources focused on this  effort, and helps us give priority to customers seeking support.


We actually post our kernel changes for free download on  our website for those wanting to do this work themselves.

This is actually very common in the industry.  Look at any professionally  maintained embedded Linux distribution (WindRiver, MontaVista, TimeSys, etc).

 

We of course fully follow the terms of the GPL. As soon as we deliver a software package based on the GPL or a similar license, we include full sources in our deliveries.

0 Kudos

1,505 Views
iafg
Contributor IV

Thanks Vladimir,

In my experience it has proven worthwhile to pay for support, particularly when it is such a nominal charge.

 

It's exciting to have a kinetis uClinux option now!

0 Kudos

1,505 Views
vladimirkhusain
Contributor III

Here is a pointer to the video of a live uClinux session running on the Freescale Kinetis K70:

 

http://www.youtube.com/watch?v=UZjJrLG9CeA

 

Linux (uClinux) runs just beatifully on this device. Using 'dhrystone', we get about 50% performance we get on a 250Mhz Freescale PowerPC box. Fast boot-up, lots of RAM (the TWR-K70 module provides 128MB of RAM and 256MB of NAND Flash), networking, JFFS2, framebuffer, SSH, HTTPD, Qt/E - all this runs just fine on K70. Overall user experience is your regular "embedded Linux" on an MMU-full microprocessor.

 

1,505 Views
lieven
Contributor II

I'm trying to get Qt/E compiled for EmCraft K70, till now failed miserably.

Could you please describe how you compiled Qt/E?

0 Kudos

1,505 Views
vladimirkhusain
Contributor III

Emcraft Systems has open sourced its ports of U-Boot and uClinux for Cortex-M3 and Cortex-M4 at github:

 

https://github.com/EmcraftSystems

 

For more information about supported reference platforms, refer to Emcraft's web site:

 

www.emcraft.com

1,505 Views
LinhNguyen
Contributor III

Hi all,

 

Currently I have a problem with busybox.

When I use pre-built busybox from http://www.linux-arm.org/LinuxKernel/LinuxM3 and initramfs-list-min from here, Kernel can go into init ok.

Linux version 2.6.33-arm1linh-00273-g252f9ce-dirty (linh@linh.fsoft) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-46) ) #11 Tue Apr 24 16:57:20 ICT 2012CPU: ARMv7-M Processor [410fc241] revision 1 (ARMv7M)CPU: WRITE-BACK data cache, WRITE-THROUGH instruction cacheMachine: Freescale KinetisBuilt 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512Kernel command line: kinetis_platform=twr-k70f120m console=ttyS2,115200 panic=3 noinitrd ip=10.207.215.221:10.207.215.87:10.207.215.1:255.255.255.0:twr-k70f120m:eth0:off ethaddr=C0:B1:3C:77:88:ACPID hash table entries: 512 (order: -1, 2048 bytes)Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)Memory: 128MB = 128MB totalMemory: 128348k/128348k available, 2724k reserved, 0K highmemVirtual kernel memory layout:    vector  : 0x00000000 - 0x00001000   (   4 kB)    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)    vmalloc : 0x00000000 - 0xffffffff   (4095 MB)    lowmem  : 0x70000000 - 0x78000000   ( 128 MB)    modules : 0x70000000 - 0x01000000   (2320 MB)      .init : 0x08008000 - 0x0802f000   ( 156 kB)      .text : 0x0802f000 - 0x08177000   (1312 kB)      .data : 0x08178000 - 0x08188ee0   (  68 kB)Hierarchical RCU implementation...................ftl_cs: FTL header not found.FSL NFC MTD nand Driver 1.0NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron NAND 256MiB 3,3V 16-bit)Creating 3 MTD partitions on "NAND":0x000000000000-0x000000100000 : "flash_uboot_env"mtd: Giving out device 1 to flash_uboot_envftl_cs: FTL header not found.0x000000100000-0x000002000000 : "flash_linux_image"mtd: Giving out device 2 to flash_linux_imageftl_cs: FTL header not found.0x000002000000-0x000010000000 : "flash_jffs2"mtd: Giving out device 3 to flash_jffs2ftl_cs: FTL header not found.FEC Ethernet Driverfec: PHY @ 0x0, ID 0x00221513 -- KSZ8041NLTCP cubic registeredNET: Registered protocol family 17ARMv7-M VFP Extension supportedeth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.IP-Config: Complete:     device=eth0, addr=10.207.215.221, mask=255.255.255.0, gw=10.207.215.1,     host=twr-k70f120m, domain=, nis-domain=(none),     bootserver=10.207.215.87, rootserver=10.207.215.87, rootpath=Freeing init memory: 156K/ # lsbin   dev   etc   proc  root  usr/ # lsbin   dev   etc   proc  root  usr/ # ls dev/console    mtd0       mtdblock0  null/ # cd dev//dev # lsconsole    mtd0       mtdblock0  null

 But when I download a busybox version from homepage then cross compile using uclinux, after "Freeing init memory: ...." the Kernel stuck here forever.

Linux version 2.6.33-arm1linh-00309-g701bbbd (linh@linh.fsoft) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-46) ) #5 Wed Apr 25 13:47:08 ICT 2012CPU: ARMv7-M Processor [410fc241] revision 1 (ARMv7M)CPU: WRITE-BACK data cache, WRITE-THROUGH instruction cacheMachine: Freescale KinetisBuilt 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512Kernel command line: kinetis_platform=twr-k70f120m console=ttyS2,115200 panic=3 noinitrd ip=10.207.215.221:10.207.215.87:10.207.215.1:255.255.255.0:twr-k70f120m:eth0:off ethaddr=C0:B1:3C:77:88:ACPID hash table entries: 512 (order: -1, 2048 bytes)Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)Memory: 128MB = 128MB totalMemory: 128336k/128336k available, 2736k reserved, 0K highmemVirtual kernel memory layout:    vector  : 0x00000000 - 0x00001000   (   4 kB)    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)    vmalloc : 0x00000000 - 0xffffffff   (4095 MB)    lowmem  : 0x70000000 - 0x78000000   ( 128 MB)    modules : 0x70000000 - 0x01000000   (2320 MB)      .init : 0x08008000 - 0x0806f000   ( 412 kB)      .text : 0x0806f000 - 0x0817c000   (1076 kB)      .data : 0x0817c000 - 0x0818c5a0   (  66 kB)Hierarchical RCU implementation...................FSL NFC MTD nand Driver 1.0NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron NAND 256MiB 3,3V 16-bit)Creating 3 MTD partitions on "NAND":0x000000000000-0x000000100000 : "flash_uboot_env"mtd: Giving out device 0 to flash_uboot_envftl_cs: FTL header not found.0x000000100000-0x000002000000 : "flash_linux_image"mtd: Giving out device 1 to flash_linux_imageftl_cs: FTL header not found.0x000002000000-0x000010000000 : "flash_jffs2"mtd: Giving out device 2 to flash_jffs2ftl_cs: FTL header not found.FEC Ethernet Driverfec: PHY @ 0x0, ID 0x00221513 -- KSZ8041NLTCP cubic registeredNET: Registered protocol family 17ARMv7-M VFP Extension supportedeth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.IP-Config: Complete:     device=eth0, addr=10.207.215.221, mask=255.255.255.0, gw=10.207.215.1,     host=twr-k70f120m, domain=, nis-domain=(none),     bootserver=10.207.215.87, rootserver=10.207.215.87, rootpath=Freeing init memory: 412Kasdfasdfasd^C^C^C^C^C^C

 

 

Do you have any ideas about this problem?

 

0 Kudos

1,505 Views
LinhNguyen
Contributor III

After wasting some days, I have found the cause of my problem :smileysad:. It's because arm-uclinux compiler version. Version arm-2011.03 of arm-uclinuxeabi cause this problem. I changed to use version 2010q1 and it's ok now.

0 Kudos

1,505 Views
iafg
Contributor IV

What is your image and rootfs size?

Do you have a working framebuffer device?

0 Kudos

1,505 Views
vladimirkhusain
Contributor III

Sorry for the slow responce. Answering your questions:

 

o) uClinux shares pretty much the entire kernel tree with MMU-full processors,so depending on your configuration the kernel image can be anything from 300K to 1M+. Size of the rootfs depends on what tools and utilities you need in your application. As a point of reference, a reasonably powerful uClinux configuration (kernel + ram-based rootfs in a single image) supporting networking, shell, busybox will be around 2M in size.

 

o) We have just finished development of a framebuffer driver for K70. K70 shares the LCD controller IP (with some minor deviations) with i.MX25 so we were able to reuse the driver in drivers/video/imxfb.c. There was a lot of tinkering with clocks and GPIO set-up though.

0 Kudos