打印

我DIY的STM32核心板启动uClinux成功了

[复制链接]
楼主: 不爱说话
手机看帖
扫描二维码
随时随地手机跟帖
41
ABCDELF| | 2013-3-9 15:54 | 只看该作者 回帖奖励 |倒序浏览
    不爱说话 发表于 2013-1-23 09:55
    2层板 + 手工焊接BGA

    你说的ecos是ucos-II吗,这些系统移植到STM32满大街都是,没必要再重复了吧。 ...


手工BGA?咋检查呢?

2层板能花下来吗
线宽多少啊
过孔内径 外径多少
请教一下啊

使用特权

评论回复
42
不爱说话|  楼主 | 2013-3-12 10:15 | 只看该作者
ABCDELF 发表于 2013-3-9 15:54
2层板能花下来吗
线宽多少啊
过孔内径 外径多少

能画出来的。只要用心。

使用特权

评论回复
43
书带草123| | 2013-5-3 14:49 | 只看该作者
      你好,想请教您,我最近也想用STM32跑uclinux,我的是买的STM32红牛开发板,外扩512的SRAM,2M nor Flash。按照官方提供的文件来做的。
    先用Flash loader demonstrator 将 Tiny_kernel_boot_loader.hex文件下进去,这一步没有问题。
    然后安装DFuSe,将 boot跳线接到user Flash,USB跳线接到 上拉电阻直接连接USB+线上,上电蜂鸣器响个不停,不知道为什么,但是USB可用。硬着头皮将uClinux_on_stm32-MCU_Flash.dfu文件下载进去,然后重新上电。
    按照说明书上,此时串口调试助手设置波特率为115200,可此时看到接收数据在增长,但是不显示东西。    将波特率设为19200,显示如下:

    platform Initialisation finished jumping to kernel.
Linux version 2.6.26-uc0 (stm32@localhost.localdomain) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-163) ) #2 Wed Sep 2 10:09:23 UTC 2009
CPU: ARMv7-M Processor [411fc231] revision 1 (ARMv?(11)M)
Machine: STM3210E-EVAL
SRAM Config: bank[0] @ 0x68000000 (size: 1024KB) - bank[1] @ 0x20000000 (size: 64KB).
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 254
Kernel command line: init=/linuxrc console=ttyS0
PID hash table entries: 16 (order: 4, 64 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 1MB 0MB = 1MB total
Memory: 980KB available (336K code, 53K data, 8K init)
Mount-cache hash table entries: 512
simple-gpio: now handling 16 GPIOs: 0 - 15
ttyS0 at MMIO 0x40013800 (irq = 37) is a STM32 USART1 Port
rtc-stm3210e_eval rtc-stm3210e_eval.0: rtc core: registered rtc-stm3210e_eval as rtc0
rtc-stm3210e_eval rtc-stm3210e_eval.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
Freeing init memory: 8K
CPU: 0    Not tainted  (2.6.26-uc0 #2)
pc : [<00000000>]    lr : [<08024887>]    psr: 6000002c
sp : 68013c04  ip : 00000001  fp : 00000000
r10: 68030090  r9 : 00018c64  r8 : 6800e2c0
r7 : 68013c04  r6 : 00000400  r5 : 00001031  r4 : 00000014
r3 : 00000000  r2 : 00000000  r1 : 6800e2c0  r0 : 20009780
Flags: nZCv  IRQs on  Mode UK12_26  ISA ARM  Segment kernel

请教您这到底是怎么回事啊??搞不懂啊

使用特权

评论回复
44
不爱说话|  楼主 | 2013-5-6 09:55 | 只看该作者
很明显你的内存不够,在STM32上跑uclinux至少需要1M内存,你板子上的512k太小了。

使用特权

评论回复
45
书带草123| | 2013-5-6 10:52 | 只看该作者
不爱说话 发表于 2013-5-6 09:55
很明显你的内存不够,在STM32上跑uclinux至少需要1M内存,你板子上的512k太小了。 ...

非常感谢!!

使用特权

评论回复
46
不爱说话|  楼主 | 2013-5-7 10:14 | 只看该作者
不客气:)

使用特权

评论回复
47
outstanding| | 2013-5-7 17:12 | 只看该作者
不错。。。。。。

使用特权

评论回复
48
bao19830224| | 2013-5-7 19:41 | 只看该作者
楼主,您好,自己写bootloader的话,需要了解什么?有什么资料可以共享下,谢谢

使用特权

评论回复
49
bao19830224| | 2013-5-7 21:46 | 只看该作者
是移植的uboot吗?

使用特权

评论回复
50
不爱说话|  楼主 | 2013-5-8 17:21 | 只看该作者
自己写bootloader,需要知道内核的加载地址(如果是XIP内核直接跳过去就是了),另外就是bootloader传递给内核的参数。

使用特权

评论回复
51
bao19830224| | 2013-5-8 18:04 | 只看该作者
感谢楼主回答

如此说来,不用研究uboot了。不知道有没有例子可以参考下,因为以前从来没有搞过这方面的东西,谢谢

使用特权

评论回复
52
Simon21ic| | 2013-5-11 22:45 | 只看该作者
请问是否提供uClinux的patch?
虽然由于成本原因,无法直接把移植的任务外包给LZ,不过还是可以参考一下LZ的硬件的
不过,确实,stm32f1跑uclinux实用性不大

使用特权

评论回复
53
cjhk| | 2013-5-12 13:27 | 只看该作者
强大   呵呵   顶一个   原创帖   必须要加精   呵呵

使用特权

评论回复
54
不爱说话|  楼主 | 2013-5-14 10:01 | 只看该作者
Simon21ic 发表于 2013-5-11 22:45
请问是否提供uClinux的patch?
虽然由于成本原因,无法直接把移植的任务外包给LZ,不过还是可以参考一下LZ ...

你可以期待STM32F439,这个集成了SDRAM控制器。有了大容量的DRAM,相信跑uclinux会更好。

使用特权

评论回复
55
不爱说话|  楼主 | 2013-5-14 10:02 | 只看该作者
cjhk 发表于 2013-5-12 13:27
强大   呵呵   顶一个   原创帖   必须要加精   呵呵

谢谢支持!!!

使用特权

评论回复
56
Simon21ic| | 2013-5-17 02:19 | 只看该作者
本帖最后由 Simon21ic 于 2013-5-17 05:15 编辑

买了一个硬件,还没收到,不过先花了一些时间看了一下STM32的uClinux移植。
当然也抽空看了一下LZ的bootloader,做的不错。
有一个建议,ATAG_MEN的size设置,可以由程序自动检测PSRAM的大小,然后自动设置,而不是简单使用4M,这样以后用其他芯片的话会更加省事。
另外,2行Ignoring unrecognised tag 0x00000000的提示,貌似是因为ATAG_NONE的size不为0的原因,查一下源代码,应该可以解决。
N多行kobject_add_internal failed for P/ with -EEXIST的问题也很奇怪,不过应该也可以解决。

另外说一下为什么没有外包给LZ做,当然,并不只是因为费用的问题。
1是因为当时的产品需求还没有确定,当然,现在确定了,会增加uClinux玩玩。
2是因为没有和我说清楚1个月的时间是需要花在哪里,因为我并没有说需要增加什么驱动。
今天看了一下代码,发现貌似不需要外包,也只需要自己做一个bootloader就可以了,呵呵。

使用特权

评论回复
评论
bao19830224 2013-5-17 15:19 回复TA
哇塞,哪里可以看到LZ的Bootloader,难道需要买硬件? 
57
Simon21ic| | 2013-5-17 05:11 | 只看该作者
本帖最后由 Simon21ic 于 2013-5-17 05:15 编辑

既然已经去掉了mtd1的ro属性,为什么不能直接上传可执行文件到rootfs?
貌似你的rootfs超过了0x00160000,按照ST原先的代码,0x00160000这里是放**.bin的,最好把mtd下的map中的这个地址去掉。

使用特权

评论回复
58
bao19830224| | 2013-5-17 15:21 | 只看该作者
Simon21ic 发表于 2013-5-17 02:19
买了一个硬件,还没收到,不过先花了一些时间看了一下STM32的uClinux移植。
当然也抽空看了一下LZ的bootloa ...

哇塞,哪里可以看到LZ的Bootloader,难道需要买硬件?晚上两点多回帖,好辛苦啊

使用特权

评论回复
59
Simon21ic| | 2013-5-17 16:15 | 只看该作者
bao19830224 发表于 2013-5-17 15:21
哇塞,哪里可以看到LZ的Bootloader,难道需要买硬件?晚上两点多回帖,好辛苦啊 ...

买硬件后,LZ会提供bootloader,不过是hex,不是源代码
至于怎么看到启动linux的代码的,这个就看大家的本事了

使用特权

评论回复
60
hawksabre| | 2013-5-17 19:16 | 只看该作者
不错哦  顶一个    楼主   很给力   谢谢了   有时间真的需要好好玩玩   顶起来   不错的  帖子   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则