A5D2
sukhoi27smk
学习是为了探索这个世界的本质
展开
-
mkenvimage
mkenvimage -s bin文件size -o uboot-env.bin uboot-env.txt原创 2016-03-02 15:12:23 · 2087 阅读 · 0 评论 -
a5d27 emmc启动 修改1
a5d27第1级bootloader是从sdhc0(emmc)加载还是从sdhc1(sd卡)加载, 只需要修改board/sama5d2_xplained文件即可 修改CONFIG_SDHC* = y 这个宏定义在board/sama5d2_xplained.c中的void at91_sdhc_hw_init(void)函数实现 从上面代码可以看出第1级的bootloader只支持原创 2016-06-20 14:32:03 · 1328 阅读 · 0 评论 -
a5d27 emmc启动 修改2
修改第2级bootloader的include/configs/sama5d2_xplained.h文件 #define FAT_ENV_DEVICE_AND_PART "0" #define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91-sama5d2_xplained.dtb; " \ "fatload mmc 0原创 2016-06-20 16:02:03 · 1433 阅读 · 0 评论 -
a5d27 emmc烧写脚本
DRIVE="/dev/mmcblk0" flash_boot=no flash_root=no flash_root=no if [ -z $1 ]; then echo "no parameter" flash_all=yes fi while [ "$1" ]; do case "$1" in -all) flash_all=yes echo原创 2016-06-20 15:18:46 · 1211 阅读 · 0 评论 -
A5D2应用程序无法启动问题
给/lib/ld-2.22.so文件,建立名称为ld-linux.so.3的软连接即可。 或者编译程序的时候,用-s选项,将库文件编译进程序原创 2016-07-04 17:01:11 · 597 阅读 · 0 评论 -
Linux设备树翻译计划
本文翻译自Device Tree Usage主页: http://devicetree.org/Device_Tree_Usage 此译文为本人原创,若要转载请注明! Linux device tree的背景(引用自宋宝华博客): Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is转载 2016-06-16 15:00:54 · 586 阅读 · 0 评论 -
a5d27 第1级bootloader启动问题
drivers/sdhc.c里的 static int sdhc_set_clock(struct sd_card *sdcard, unsigned int clock) 这段代码总是会超时,造成启动失败。原创 2016-06-20 16:12:55 · 656 阅读 · 0 评论 -
设备树使用手册
设备树使用手册 This page walks through how to write a device tree for a new machine. It is intended to provide an overview of device tree concepts and how they are used to describe a machine. 本文将介绍如何转载 2016-05-18 17:04:12 · 1020 阅读 · 0 评论 -
a5d2启动分析
A5D2对外部存储设备的启动顺序如下图: SDMMC_1接的sd卡,SDMMC_0接的emmc, SPI_0接的串行flash,当外部存储都不可用或没有启动程序的话,会直接进入sam-ba monitor,就可以执行sam-ba提供的各种烧写脚本了。 目前我们使用的烧写脚本有,串行flash烧写脚本,熔丝位烧写脚本。原创 2016-04-28 17:45:42 · 1613 阅读 · 0 评论 -
A5D2 GPIO测试
1. 首先构建设备树,此例中,测试两个GPIO管脚,一个做输入中断,一个做输出 每个GPIO需要分别描述,其中,label随意,pioA后面的数字,可以在sama5d2-pinfunc.h文件中找到 这是管脚功能复用的配置,把他们配置成普通的GPIO 2. 使用compatible = "gpio-test" 这个名字,构建一个平台总线驱动程序,系统会自动调用probe函数原创 2016-05-25 15:43:00 · 1468 阅读 · 1 评论 -
a5d2 phy驱动
1. 下面代码实现了phy驱动的实现和注册 2. device tree实现了phy的device 3. 在mdio总线注册后,总线会调用总线驱动的match函数,进行device和driver的匹配 static int mdio_bus_match(struct device *dev, struct device_driver *drv) retur原创 2016-04-10 15:44:34 · 1476 阅读 · 0 评论 -
a5d2 mac 驱动分析
1. 下面两段代码实现了macb平台驱动的注册 driver/net/ethernet/cadence/macb.c include/linux.h 2. macb平台设备的创建是由设备树实现 3. 当注册驱动的时候,回调用platform_match这个函数进行driver和device的匹配, static int platform_match(stru原创 2016-04-08 16:08:14 · 1244 阅读 · 0 评论 -
pin controller driver代码分析
一、前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datasheet会把pin controller的内容放入GPIO controller的章节中),主要功能包括: (1)pin multiplexing。基于ARM core的嵌入式处理器一般会提转载 2016-04-06 18:02:15 · 1165 阅读 · 0 评论 -
make ARCH=arm sama5_defconfig
1. make ARCH=arm sama5_defconfig %config: scripts_basic outputmakefile FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@ sama5_defconfig: scripts_basic make -f ./script原创 2016-02-29 13:05:39 · 2236 阅读 · 0 评论 -
ARM Linux 3.x的设备树(Device Tree)
宋宝华 Barry Song 1. ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/p转载 2016-03-29 16:44:20 · 718 阅读 · 0 评论 -
a5d27 mmc启动 第2级bootloader超时问题
static int initr_mmc(void) common/board_r.c int mmc_initialize(bd_t *bis) drivers/mmc/mmc.c int board_mmc_init(bd_t *bis) bo原创 2016-06-20 12:35:31 · 1693 阅读 · 0 评论