天嵌 ARM开发社区

 找回密码
 注册
12
返回列表 发新帖
楼主: scfishfish

《ARM处理器裸机开发实战--机制而非策略》书中光盘代码不通?

[复制链接]
jing007520 发表于 2012-5-23 16:09:53 | 显示全部楼层
本帖最后由 jing007520 于 2012-5-23 16:10 编辑

error:type disgreement for 'NF_Writepage' nand.c
你编译时出现这样的错误么?如何解决啊?
gadfly008 发表于 2012-8-24 18:55:33 | 显示全部楼层
本帖最后由 gadfly008 于 2012-8-24 18:56 编辑
扫帚菜~~ 发表于 2012-3-27 18:00

前两行,应该是U32没有定义,我记得是把Nand.c里原来注释掉的def.h恢复了,U32是在def.h里定义的。
mercury20102013 发表于 2012-8-24 19:34:56 | 显示全部楼层
你仔细看看,相关的寄存器定义了没,如果没有,自己修改一下。
mercury20102013 发表于 2012-8-24 19:35:50 | 显示全部楼层
另外有的函数没有定义,需要你自己修改。
xzsunjiasheng 发表于 2012-10-5 09:10:05 | 显示全部楼层
非常感谢楼上的各位,小弟刚学。综合楼上几位的观点,结论如下。
1、(会员zhongfushun ):nand.h中定义的命令因NAND FLASH芯片型号不一样而不一样的,有 K9F1208UOM和 K9F2G08UMB两种,根据你自已的型号对应。你开发板的NAND FLASH应该是K9F2G08UMB,需要把K9F1208UOM定义命令的屏蔽,打开K9F2G08UMB对应的命令即可。如下图所示:


2、(会员gadfly008): 前两行,应该是U32没有定义,我记得是把Nand.c里原来注释掉的def.h恢复了,U32是在def.h里定义的。

3、将nand.h中的NF_WritePage声明改成:extern void NF_WritePage(unsigned int block,unsigned int page, unsigned char *buffer) ;,和nand.c中的定义一致。



谢谢楼上各位的帮助!!!!也把自己的学习过程分享给大家。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 1 反对 0

使用道具 举报

土豆一麻袋 发表于 2012-11-7 14:34:06 | 显示全部楼层
哈哈哈。。。。。。看来大家都是遇到同样的问题啊,,个人感觉嘛遇到问题莫急功近利,慢慢分析,总能找到问题的突破口的,,,感谢楼上所有问题的提供者与经验分享着。。。我们都进步了
tianqian2012 发表于 2012-11-16 15:03:02 | 显示全部楼层
哈哈,幸好提前看到这个帖子,让我少纠结好久,
雨辰 发表于 2013-1-16 11:23:52 | 显示全部楼层
为什么我的还是不行。第一个led实验,为什么直接下载到SDRAM没现象,而下到nandflash中却可以。
yx-412 发表于 2013-8-10 18:50:13 | 显示全部楼层
多谢前面的人了,看了,节约很多时间,谢谢
曾经的LV 发表于 2013-8-17 15:09:48 | 显示全部楼层
新浪下载那里都有,我下回来了!!!
反穿越 发表于 2013-11-29 17:42:12 | 显示全部楼层
scfishfish 发表于 2012-3-25 11:32
嗯 果真这样
我的板子上nand flash型号是K9F2G08U0B,在nand.h中改过来后,代码上板跑通了。
非常感谢 ...

请问你是怎么改的,我板子上的nand flash型号也是K9F2G08U0B,
程序是这样的具体怎么改呢,还是不用改,但是我makefile没问题,烧到板子上没反应。
//  NAND Flash Command. only for K9F1208UOM

#define CMD_READ                        0x00        //  Read
#define CMD_READ1                        0x01        //  Read1
#define CMD_READ2                        0x50        //  Read2
#define CMD_READ3                        0x30        //  Read3---这里是针对K9F2G08UOB而言的,页内没有分为两部分,所以用这个指令即可;
#define CMD_READID                        0x90        //  ReadID
#define CMD_WRITE1                        0x80        //  Write phase 1
#define CMD_WRITE2                        0x10        //  Write phase 2
#define CMD_ERASE1                        0x60        //  Erase phase 1
#define CMD_ERASE2                        0xd0        //  Erase phase 2
#define CMD_STATUS                        0x70        //  Status read
#define CMD_RESET                        0xff        //  Reset
#define CMD_RANDOMREAD1                0x05 //随意读命令周期1
#define CMD_RANDOMREAD2         0xE0 //随意读命令周期2
#define CMD_RANDOMWRITE         0x85 //随意写命令
反穿越 发表于 2013-11-29 17:55:04 | 显示全部楼层
额,我把这段注释掉,用了下一段NAND FLASH CMMOND especially for K9F2G08UMB
就行了...真的不太懂了,型号明明是K9F2G08U0B
qilai3 发表于 2013-12-15 18:45:42 | 显示全部楼层
为什么,我把《ARM处理器裸机开发实战》lcd中的程序下载到开发板上,是白屏,还有uart中断时不能输入,其它的程序例子没问题,nand flash修改过,知道的话告诉一下我,不胜感激,谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 06:53 , Processed in 1.031250 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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