打印
[嵌入式linux]

从spi flash中启动内核需要的条件

[复制链接]
4948|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bluesky_kun|  楼主 | 2013-5-13 15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
bluesky_kun|  楼主 | 2013-5-13 15:06 | 只看该作者
我用的spi flash是m25p80,配置内核时这个文件也编译了。spi的信息也都添加了。
static struct mtd_partition imx233_spiflash_partitions[] = {
    {
        .name = "BootKernel(spi)",
        .offset = 0,
        .size = SZ_1M,
    },
    {
        .name = "Rootfs(spi)",
        .offset = MTDPART_OFS_APPEND,
        .size = MTDPART_SIZ_FULL,
    },
};


static struct flash_platform_data spi_flash_data = {
    .name = "m25p80",
    .parts = imx233_spiflash_partitions,
    .nr_parts = ARRAY_SIZE(imx233_spiflash_partitions),
    .type = "m25p64",
};

static struct spi_board_info spi_board_info[] __initdata = {
    {
        .modalias = "m25p80",
        .platform_data  = &spi_flash_data,
        .mode = SPI_MODE_3,
        .max_speed_hz = 2000000,
        .chip_select = 0,
        .bus_num = 1,
    },
}
我把生成的zImage 上传到内存直接启动,但一直启动不了。出现kernel panic

请哪位使用过imx233的大侠能指点一下。

使用特权

评论回复
板凳
helloword2010| | 2014-4-14 23:00 | 只看该作者
是否需要把启动代码拷贝到特定的位置?这种芯片启动都有特殊要求的。仔细看下芯片及flash的datasheet

使用特权

评论回复
地板
Carl-Wei| | 2014-6-8 21:41 | 只看该作者
要让内核从spi flash启动,首先你要把内核uImage烧写到spi flash中去把;然后,在u-boot的bootcmd命令参数中,使用 sf read 命令将u-boot拷贝到内存某一位置。

你现在遇到的问题是,从内存中启动内核失败,跟是不是从spi flash启动没有关系,先解决这个kernel panic再说,是不是根文件系统rootfs没指定对。

使用特权

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

本版积分规则

个人签名:目前,在一家创业型公司供职。个人对电子比较感兴趣。 对51、STM32、ARM9比较熟悉。 我的淘宝小店前期大部分宝贝是做的代理,这我这您能买到价格优惠同时享受原厂的技术支持。 欢迎光临小店个人店铺:  http://dbembed.taobao.com/   深蓝嵌入式工作室

7

主题

81

帖子

1

粉丝