开发环境:
MCU: NXP LPC1788
u-boot: u-boot-2010.03
SPI Flash: AT45DB321D
由于ATMEL的spi flash在u-boot中已经实现,我们就不要去写AT45DB321D的驱动了,现在考虑SPI总线的问题(u-boot中的spi驱动在driver/spi目录中),在driver/spi目录中可以看到各种芯片的spi总线实现,不过lpc1788是没有的,别动别动看到了一个soft_spi.c,好了现在spi总线的驱动也不用写了,直接用soft spi。
在lpc1788的配置文件中加入以下内容:
#define CONFIG_CMD_SF //加入cmd_sf.c文件的编译,实现u-boot中spi flash的操作命令sf
#define CONFIG_SOFT_SPI //加入driver/spi/soft_spi.c文件编译,实现软件spi总线
#define CONFIG_SPI_FLASH //加入driver/mtd/spi/spi_flash.c文件编译
#define CONFIG_SPI_FLASH_ATMEL //加入driver/mtd/spi/atmel.c文件编译,实现AT45的驱动
#define CONFIG_SF_DEFAULT_MODE SPI_MODE_1
#define SPI_SCL spi_scl
#define SPI_SDA spi_sda
#define SPI_READ spi_read()
void spi_scl(int);
void spi_sda(int);
unsigned char spi_read(void);
#define SPI_DELAY udelay(2)
在board/nxp/lpc1788/board.c文件中加入以下内容:
void spi_scl(int bit)
{
struct lpc178x_gpio_dsc dsc;
dsc.port = 2;
dsc.pin = 22;
lpc178x_gpout_set(&dsc, bit);
}
void spi_sda(int bit)
{
struct lpc178x_gpio_dsc dsc;
dsc.port = 2;
dsc.pin = 27;
lpc178x_gpout_set(&dsc, bit);
}
unsigned char spi_read(void)
{
struct lpc178x_gpio_dsc dsc;
dsc.port = 2;
dsc.pin = 26;
return (unsigned char)lpc178x_gpin_get(&dsc);
}
int spi_cs_is_valid(unsigned int bus, unsigned int cs)
{
return bus == 0 && cs == 0;
u-boot中spi flash的操作命令:
1、选择spi flash
sf probe 0
2、擦除命令
sf erase 0 0x210 //注意擦除长度一定是0x210的整数倍
3、读命令
sf read addr offset len
4、写命令
sf write addr offset len
上一篇:MicroPython之LPC1788移植
下一篇:S3C2440启动代码分析 start.s
推荐阅读
史海拾趣
面对全球电子市场的不断变化,Electro-Term公司及时调整了市场布局和战略方向。公司深入分析了不同地区的市场需求和消费者偏好,制定了有针对性的市场推广策略。同时,公司还加强了与国际知名企业的合作,共同开发新技术和产品。这些努力使Electro-Term在全球市场上取得了显著的成绩。
世纪金光(CENGOL)公司自创立之初,就立志要在半导体领域实现自主创新。经过无数次的实验与尝试,公司的研发团队成功攻克了高纯碳化硅粉料提纯技术。这一突破不仅使世纪金光在碳化硅材料领域取得了领先地位,更为后续产品的研发奠定了坚实基础。随着技术的不断完善,世纪金光成功推出了6英寸碳化硅单晶,并实现了量产,这一成就标志着公司在碳化硅材料领域取得了重要进展。
Box Enclosures公司自创立之初,就明确了自己的定位——专注于为电子行业提供高品质的机箱和外壳产品。公司始终坚持严格的质量控制标准,从原材料采购到生产工艺,每一个环节都力求精益求精。这种对品质的执着追求,使得Box Enclosures的产品在市场上赢得了良好的口碑,逐渐在电子行业中占据了一席之地。
D3公司非常重视企业文化的建设。公司倡导“以人为本、诚信经营”的企业文化,为员工提供良好的工作环境和发展机会。同时,公司还注重培养员工的团队协作精神和创新意识。在这种企业文化的熏陶下,D3公司的员工们团结一心、锐意进取,共同为公司的发展贡献力量。这种强大的团队力量,是D3公司在电子行业中不断取得成功的关键因素之一。
请注意,以上故事均为虚构,旨在展示电子行业中一家公司可能的发展路径和策略。在实际应用中,企业需要根据自身情况和市场环境来制定合适的发展战略。
AEMC Instruments公司始终注重产品品质和质量管理。公司建立了完善的质量管理体系,并通过了多项国际认证,如ISO 9001质量管理体系认证等。这些认证不仅证明了公司在品质管理方面的实力,也提高了客户对产品的信任度。同时,公司还加强了对供应商和生产过程的管理,确保从原材料采购到产品生产的每一个环节都符合国际标准和客户要求。
电子技术课程设计题目:秒表(要求:能精确显示0.01秒的变化;能同时对3个不同事件进行计时:比如长跑前三名) 电子技术课程设计题目:秒表(要求:能精确显示0.01秒的变化;能同时对3个不同事件进行计时:比如长跑前三名) … 查看全部问答∨ |
关于ARM中断处理的问题----《ARM嵌入式系统开发-软件设计与优化》第九章中疑问 各位过年好哦~ 呵呵,小弟这里有点疑惑相同大家讨论讨论~,这个问题是《ARM嵌入式系统开发-软件设计与优化》一书中的见下: 第九章-中断处理 9.3.2嵌套中断 在这一节中,描述了如何处理嵌套式的中断(不能单纯的在IRQ模式下打开中断允许位) ...… 查看全部问答∨ |
This file should only be compiled with iccavr or aavr with processor option -v1 #error This file should only be compiled with iccavr or aavr with processor option -v1 有人用IAR AVR遇到过这个问题吗?… 查看全部问答∨ |
|
家电控制板的小体积,低成本决定了在线路中不会使用高成本的材料来解决其电磁干扰问题。家电控制板的干扰主要来自三大方面:一是控制板本身产生的干扰,二是来自负载的干扰,三是来自线路上的干扰。解决这些干扰可以分别采用不同的方案来达成。 控 ...… 查看全部问答∨ |
请教,stm8a的芯片,有没有位寻址功能,我看没大量资料,没有看到有关说明,求解用过大侠们~~~~~~~~~~~~~~~~~~~~~~ ...… 查看全部问答∨ |
我公司有个触摸屏是用wince英文系统的,我们电脑和触摸屏的故障信息是同步的,但是电脑改成中文故障信息后,触摸屏不能显示出中文故障,只显示乱码。 我应该怎么弄才能显示出来啊。… 查看全部问答∨ |
FPGA的I2C对摄像头配置怎么没有地址,只有数据呢。谁能解释下。///////////// Config Data LUT ////////////////////////// alwaysbegin case(LUT_INDEX) // Audio Config Data 0 : LUT_DATA <= 16\'h0000; 1 : LUT_DATA <= 16\'h1140; ...… 查看全部问答∨ |