搜索
bottom↓
回复: 50

基于正**子开发板STM32F767上移植linux4.2内核已经跑起来

[复制链接]

出0入0汤圆

发表于 2018-8-2 14:34:38 | 显示全部楼层 |阅读模式
已经做了一些时间了,移植了linux4.2内核,linux内核源码来自http://www.emcraft.com,但是不同的是uboot自己修改了QSPI接口方式正常烧写、启动引导内核,加载速度速度非常快,加入了驱动有CAN、Ethernet、usart、LCD、SD、WIFI、BT、USB HS host、gpio、button、LED等,希望各位坛友有空一起发帖交流。在上面linux开发程序相当快,跨平台效果好,完成了一个例子:Ethernet转CAN网关简单例子,已经运行起来了,后续继续开发加入协议,如Modbus TCP/RTU、CANOpen等。
## Booting kernel from Legacy Image at c0007fb4 ...
   Image Name:   Linux-4.2.0
   Image Type:   ARM Linux Multi-File Image (uncompressed)
   Data Size:    8371255 Bytes =  8 MB
   Load Address: c0008000
   Entry Point:  c0008001
   Contents:
      Image 0: 8347932 Bytes =  8 MB
      Image 1: 23311 Bytes = 22.8 kB
   Verifying Checksum ... OK
## Flattened Device Tree from multi component Image at C0007FB4
   Booting using the fdt at 0xc07fe11c
   Loading Multi-File Image ... OK
OK
   Loading Device Tree to c1ff7000, end c1fffb0e ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.2.0 (du@ubuntu) (gcc version 4.4.1 (Sourcery G+
+ Lite 2010q1-189) ) #38 PREEMPT Thu Aug 2 14:24:30 CST 2018
[    0.000000] CPU: ARMv7-M [411fc270] revision 0 (ARMv7M), cr=00000000
[    0.000000] CPU: WBA data cache, WBA instruction cache         
[    0.000000] Machine model: STM32F7-SOM board
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total
pages: 8128
[    0.000000] Kernel command line: stm32_platform=stm32f7-som console=ttyS0,1
15200 panic=10
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Memory: 23092K/32768K available (2623K kernel code, 173K rwdata
, 544K rodata, 4808K init, 109K bss, 9676K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0x00000000 - 0x00001000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x00000000 - 0xffffffff   (4095 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0320000   (3168 kB)
[    0.000000]       .init : 0xc0320000 - 0xc07d2000   (4808 kB)
[    0.000000]       .data : 0xc07d2000 - 0xc07fd600   ( 174 kB)
[    0.000000]        .bss : 0xc07fe11c - 0xc0819724   ( 110 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] /interrupt-controller@40013c00: 25 External IRQs detected
[    0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xfff
fff, max_idle_ns: 276513358 ns
[    0.000000] ARM System timer initialized as clocksource
[    0.000000] /soc/timer@40000000: STM32 clockevent driver initialized (32 bi
ts)
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps ev
ery 21474836475000000ns
[    0.010000] Calibrating delay loop... 427.62 BogoMIPS (lpj=2138112)
[    0.060000] pid_max: default: 4096 minimum: 301
[    0.060000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.060000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 by
[    0.070000] devtmpfs: initialized
[    0.120000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff,
max_idle_ns: 19112604462750000 ns
[    0.120000] pinctrl core: initialized pinctrl subsystem
[    0.120000] NET: Registered protocol family 16
[    0.180000] stm32-pinctrl pin-controller: nbanks = 11
[    0.180000] stm32-pinctrl pin-controller: nfunctions = 18
[    0.180000] stm32-pinctrl pin-controller: ngroups = 21
[    0.180000] stm32-pinctrl pin-controller: GPIOA bank added.
[    0.180000] stm32-pinctrl pin-controller: GPIOB bank added.
[    0.190000] stm32-pinctrl pin-controller: GPIOC bank added.
[    0.190000] stm32-pinctrl pin-controller: GPIOD bank added.
[    0.190000] stm32-pinctrl pin-controller: GPIOE bank added.
[    0.190000] stm32-pinctrl pin-controller: GPIOF bank added.
[    0.190000] stm32-pinctrl pin-controller: GPIOG bank added.
[    0.190000] stm32-pinctrl pin-controller: GPIOH bank added.
[    0.200000] stm32-pinctrl pin-controller: GPIOI bank added.
[    0.200000] stm32-pinctrl pin-controller: GPIOJ bank added.
[    0.200000] stm32-pinctrl pin-controller: GPIOK bank added.
[    0.200000] stm32-pinctrl pin-controller: Function[0  name:i2c_1,    groups
...
[    1.950000] usbcore: registered new interface driver cdc_acm
[    1.950000] cdc_acm: USB Abstract Control Model driver for USB modems and I
SDN adapters
[    1.960000] usbcore: registered new interface driver usb-storage
[    1.970000] mousedev: PS/2 mouse device common for all mice
[    2.200000] stm32-rtc 40002800.rtc: rtc core: registered 40002800.rtc as rt
c0
[    2.210000] i2c /dev entries driver
[    2.220000] Driver for 1-wire Dallas network protocol.
[    2.230000] usbcore: registered new interface driver btusb
[    2.230000] stm32-pinctrl pin-controller: maps: function gpio group outs nu
m 3
[    2.250000] usbcore: registered new interface driver usbhid
[    2.250000] usbhid: USB HID core driver
[    2.260000] NET: Registered protocol family 17
[    2.260000] can: controller area network core (rev 20120528 abi 9)
[    2.270000] NET: Registered protocol family 29
[    2.280000] can: raw protocol (rev 20120528)
[    2.280000] can: broadcast manager protocol (rev 20120528 t)
[    2.290000] can: netlink gateway (rev 20130117) max_hops=1
[    2.290000] Bluetooth: RFCOMM TTY layer initialized
[    2.300000] Bluetooth: RFCOMM socket layer initialized
[    2.300000] Bluetooth: RFCOMM ver 1.11
[    2.320000] stm32-pinctrl pin-controller: maps: function gpio group ins num
3
[    2.330000] stm32_gpio_to_irq: Event line 0 now points to fire interrupts f
rom bank A
[    2.340000] stm32_gpio_to_irq: Event line 9 now points to fire interrupts f
rom bank I
[    2.350000] input: inputs as /devices/platform/inputs/input/input0
[    2.380000] stm32-rtc 40002800.rtc: setting system clock to 2000-01-01 00:0
0:00 UTC (946684800)
[    2.400000] vmmc: disabling
[    2.580000] random: nonblocking pool is initialized
[    2.950000] Freeing unused kernel memory: 4808K (c0320000 - c07d2000)
init started: BusyBox v1.24.2 (2018-07-27 13:27:57 CST)

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入13汤圆

发表于 2018-8-2 14:52:52 | 显示全部楼层
楼主牛啊

出0入0汤圆

 楼主| 发表于 2018-8-2 14:57:20 | 显示全部楼层

个人情怀和业余做的,水平一般的

出0入0汤圆

发表于 2018-8-2 14:58:06 | 显示全部楼层
跑起来费劲不?

出0入0汤圆

 楼主| 发表于 2018-8-2 15:04:52 | 显示全部楼层

216M带cache的,运行速度还可以的,运行的例子初步没有问题。

出0入0汤圆

发表于 2018-8-2 15:08:47 | 显示全部楼层
牛人做啥都快

出0入0汤圆

发表于 2018-8-2 15:10:02 | 显示全部楼层
lz这么好的开源项目可以考虑搞个网站页面来维护迭代

出0入0汤圆

发表于 2018-8-2 15:22:53 来自手机 | 显示全部楼层
这个厉害了

出0入0汤圆

发表于 2018-8-2 15:55:49 | 显示全部楼层
膜拜~                        

出0入53汤圆

发表于 2018-8-2 15:58:30 | 显示全部楼层
佩服一下               

出0入0汤圆

发表于 2018-8-2 15:58:52 | 显示全部楼层
这么强的么..不过linux没有mmu感觉很多东西实现不了把

出0入0汤圆

发表于 2018-8-2 16:01:24 | 显示全部楼层
那这跑网络不是要lwip靠谱很多

出590入992汤圆

发表于 2018-8-2 16:21:59 | 显示全部楼层
优秀,不过没有MMU,好像是一个问题。楼主觉得呢?

出0入0汤圆

发表于 2018-8-2 16:57:09 | 显示全部楼层
厉害厉害,佩服佩服。。。

出0入0汤圆

 楼主| 发表于 2018-8-2 17:20:20 | 显示全部楼层
SUPER_CRJ 发表于 2018-8-2 16:21
优秀,不过没有MMU,好像是一个问题。楼主觉得呢?

没有MMU地址映射一层,不是更爽么,但是只是需要小心点操作内存

出0入0汤圆

发表于 2018-8-2 17:51:31 | 显示全部楼层
这样应用怎么加载 ?
编译成地址无关的应用么?
动态库是不是就没了

出0入0汤圆

发表于 2018-8-2 18:01:40 | 显示全部楼层
好牛X啊,没想到新的linux内核这么快就有用到stm32上的。

出0入0汤圆

发表于 2018-8-3 10:50:44 | 显示全部楼层
uclinux的支持下

出0入0汤圆

发表于 2018-8-3 10:53:01 | 显示全部楼层
没有MMU 进程相关这些 application 方面和标准linux 会有使用上的不同不? 如果有,那也不算跨平台啊

出0入0汤圆

 楼主| 发表于 2018-8-3 12:01:29 | 显示全部楼层
浮华一生 发表于 2018-8-3 10:53
没有MMU 进程相关这些 application 方面和标准linux 会有使用上的不同不? 如果有,那也不算跨平台啊 ...

起码我的例子移植过程没有不同的

出0入0汤圆

发表于 2018-8-3 12:54:17 | 显示全部楼层
QT跑起来流畅不

出0入90汤圆

发表于 2018-8-3 13:13:00 | 显示全部楼层
linux本来就支持stm32的。没有MMU的版本

出0入0汤圆

发表于 2018-8-3 15:14:39 | 显示全部楼层
H7X0移植起来,是不是更爽一些?

出0入0汤圆

发表于 2018-8-3 16:17:39 | 显示全部楼层
大牛哇,参观下

出0入0汤圆

发表于 2018-8-3 19:30:13 来自手机 | 显示全部楼层
honami520 发表于 2018-8-3 13:13
linux本来就支持stm32的。没有MMU的版本

应用程序内存是怎样弄的?

出0入0汤圆

发表于 2018-8-3 21:08:56 | 显示全部楼层
同楼上,请教楼主没有MMU的应用程序有什么不同?

出0入0汤圆

发表于 2018-8-3 21:13:56 | 显示全部楼层
楼主牛人呀

出0入0汤圆

发表于 2018-8-3 21:48:54 | 显示全部楼层
基本概念啊,同志们。

出0入0汤圆

发表于 2018-8-3 21:57:21 | 显示全部楼层
楼主,牛,

出0入0汤圆

发表于 2018-8-3 22:21:22 | 显示全部楼层
该你炫耀

出0入0汤圆

发表于 2018-8-4 08:10:34 | 显示全部楼层
不给说说过程啥的?上点源码或说明啊。

出0入0汤圆

发表于 2018-8-5 00:09:05 来自手机 | 显示全部楼层
CAN驱动用的是emcraft源码包里的吗?

出0入0汤圆

 楼主| 发表于 2018-8-5 09:29:29 | 显示全部楼层
htjgdw 发表于 2018-8-5 00:09
CAN驱动用的是emcraft源码包里的吗?

是移植过来,有部分修改

出0入0汤圆

发表于 2018-8-5 11:20:43 来自手机 | 显示全部楼层
ffbiao 发表于 2018-8-5 09:29
是移植过来,有部分修改

牛。我一直在找STM32 CAN能用的配置工具,你用的是iptable2吗?

出0入0汤圆

发表于 2018-8-5 11:21:33 来自手机 | 显示全部楼层
htjgdw 发表于 2018-8-5 11:20
牛。我一直在找STM32 CAN能用的配置工具,你用的是iptable2吗?

刚才写错了,是iproute2吗?

出0入0汤圆

 楼主| 发表于 2018-8-5 18:00:53 | 显示全部楼层
htjgdw 发表于 2018-8-5 11:21
刚才写错了,是iproute2吗?

不是,用ifconfig,但是具体在例子上不用命令,用sockercan编程

出215入118汤圆

发表于 2018-8-6 08:08:07 来自手机 | 显示全部楼层
这么多功能生成的ROM多大?还有多少可用空间?

出0入0汤圆

 楼主| 发表于 2018-8-6 08:27:10 | 显示全部楼层
snowy 发表于 2018-8-6 08:08
这么多功能生成的ROM多大?还有多少可用空间?

外部flash:32MB,SDRAM:64MB

出215入118汤圆

发表于 2018-8-6 11:47:40 | 显示全部楼层
ffbiao 发表于 2018-8-6 08:27
外部flash:32MB,SDRAM:64MB

这样算下来和入门级ARM CPU方案成本差别不大啊。

出0入0汤圆

 楼主| 发表于 2018-8-6 13:48:27 | 显示全部楼层
snowy 发表于 2018-8-6 11:47
这样算下来和入门级ARM CPU方案成本差别不大啊。

优点是LQFP封装,容易自己diy,相对成本也的确不高

出0入0汤圆

发表于 2018-8-6 14:41:49 | 显示全部楼层
楼主太牛了!

出0入0汤圆

发表于 2018-8-6 14:44:07 | 显示全部楼层
ffbiao 发表于 2018-8-6 13:48
优点是LQFP封装,容易自己diy,相对成本也的确不高

QFP封装的话,PCB设计的难度、成本会更低,周期也会更短!

出0入0汤圆

发表于 2018-8-6 17:51:52 | 显示全部楼层
玩linux的话,折腾nuc972多好。
内置SDRAM了。

出0入0汤圆

发表于 2018-8-7 10:45:50 | 显示全部楼层
sblpp 发表于 2018-8-6 17:51
玩linux的话,折腾nuc972多好。
内置SDRAM了。

nuc972我看了一下,官方资料都没有放出来。。。折腾个毛线啊!!!!!!!!!!

出0入0汤圆

发表于 2018-8-7 11:54:03 来自手机 | 显示全部楼层
OneRain 发表于 2018-8-7 10:45
nuc972我看了一下,官方资料都没有放出来。。。折腾个毛线啊!!!!!!!!!!

有官方资料的,https://github.com/OpenNuvoton/NuMicro-ARM7-ARM9-Family
裸奔和Linux都有

出0入0汤圆

发表于 2018-8-7 13:38:34 | 显示全部楼层
nanfang2000 发表于 2018-8-7 11:54
有官方资料的,https://github.com/OpenNuvoton/NuMicro-ARM7-ARM9-Family
裸奔和Linux都有

但是,芯片文档资料有吗?没找到啊!!!

出0入0汤圆

发表于 2018-8-7 14:15:27 | 显示全部楼层
OneRain 发表于 2018-8-7 13:38
但是,芯片文档资料有吗?没找到啊!!!

你说数据手册?我记得官网上有

出0入0汤圆

发表于 2018-8-8 13:48:18 | 显示全部楼层
nanfang2000 发表于 2018-8-7 14:15
你说数据手册?我记得官网上有

去官网上面查了,毛都没有。。。arm9的所有点击资料的时候,就是一个视频!!!

出0入0汤圆

发表于 2018-8-9 17:40:07 | 显示全部楼层
nuc972 做了个usb挂4G模块 + can + uart 的项目,跑linux的,双面板,cpu内置64M sdram,开发非常方便,资料可以找代理商或联系原厂,容易就拿到。

出0入0汤圆

发表于 2018-8-9 17:45:35 | 显示全部楼层
就想知道标题为什么是“正**子”?难道大侠成关键词了?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 21:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表