历史上的今天
今天是:2024年08月25日(星期日)
2021年08月25日 | lpc1788移植u-boot-2010.03之spi flash移植
2021-08-25 来源:eefocus
开发环境:
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
史海拾趣
|
以下设计题中,主CPU芯片均采用ATMega128L-8AU,供电电源为12V DC。 1. ATMega128L的工作电源为2.7V~5.5V DC,因此需要为CPU设计一个合适的电源系统,请使用LM2576-ADJ设计一个三端稳压电路,输出5V DC/3A供整个设计使用,需要设计电源指示灯 ...… 查看全部问答> |
|
最近IT业的人没有不知道iPhone 4的信号门,为此展开的口水战也屡见于各大媒体。“信号门”本不是什么好事,对于其他公司甚至可能是灭顶之灾,但苹果有个乔布斯,信号门不仅乔布斯出尽风头,出现在各大媒体头版头条,iPhone 4手机的销售也好像丝毫没 ...… 查看全部问答> |
|
MTK6225 手机开发板(含源代码) 有诚意者请联系 Qq:296662705 硬件特性: 1、 CPU:mtk6225 2、 TFLASH 卡接口 3、 176X220 2.6寸TFT LCD,最高支持320*240*16的TFT LCD 4、 4线触摸屏接口 5、 双声道音频输出 6、 一个Camera 130万像素 ...… 查看全部问答> |
|
因为手头的开发板是mips32+linux,嵌入式设备里,想添加java游戏,应该移植哪种JVM比较好,比较快,比较容易?据说kaffe是一个不错的JVM,有没有移植过的朋友,可以参考指点的,谢谢!… 查看全部问答> |
|
总说linux开发或者linux下的嵌入式开发,尽管在网上能搜罗到不少相关的信息,但总归没有一个清晰的概念和界定。 究竟在实际工作中是哪些东西的开发?分为哪几种?需要什么知识? 注:小弟我现在做java,由于对底层的偏爱,想转底层开发,学习 ...… 查看全部问答> |
|
有北京的朋友和我一起买扬创s3c2440的板子吗 http://www.yctek.com/shop/view_47.html 团够就可以便宜的。有意思的朋友可以留言。我看了。比这个价格还要便宜好几百呢。人越多他们说越便宜。… 查看全部问答> |
|
Xilinx FPGA & MATLAB SYSTEM GENERATOR FIR COMPILOR 调通了 基于MATLAB SYSTEM GENERATOR 的FIR滤波器终于调通了,模型如下: 参数如下: 输出波形如下图所示: 上图中,第一个波形是待滤波的波形,第二个是FIR数字滤波器的输出波形,第三个是MATLAB自带的滤波器。 然而,上述结果 ...… 查看全部问答> |
|
IAR中跑的好好的,换到MDK中就会莫名其妙的进Fault中断,请各位帮忙看看! 下面的程序在IAR中用的好好的,但是自己有点吹毛求疵了,还是习惯用MDK,所以就转到MDK下用,程序什么的都不变,只是把对应的driverlab.a文件换成了对应的driverlib.lib文件,build没有问题,下载进去也没问题,前面的串口输出也没问题,但程序一跑 ...… 查看全部问答> |
|
目前绝大部分的rtos都是没有基于mmu或者mpu来运行的,也就是说没有内存保护机制。在没有内存保护机制的前提下,最揪人心的莫过于任务栈空间的溢出了,任务栈空间的溢出随时就像一颗定时炸弹等着引爆,使用者浑身不自在。有没有100%的任务栈空间溢出 ...… 查看全部问答> |




