- 博客(47)
- 资源 (10)
- 收藏
- 关注
原创 NORDIC DFU使用外部 FLASH作为交换区
编写目的NORDIC的SDK中提供了一个BOOTLOADER程序(以下简称BT),BT有两个版本,分别为DUAL BANK和SINGLE BANK,DUAL BANK的BT有一个固件交换区,新固件的接收先存放到SWAP区,接收完成后再进行校验,然后写入主程序区。SINGLE BANK的BT则不带SWAP区,新固件直接写入固件区,由于没有SWAP区,因此如果升级中途失败的话,固件就无法正常启动,只...
2019-02-13 16:40:47
1269
原创 duBand源码分析-数据自动同步部分
1. void send_all_data(boolis_from_cb)发送数据都是通过send_all_data()去上传的。 1) static boolneed_send_sync_process(void )判断是否需要进行同步,在send_all_data()一开始时调用。当sync_process_start_send等于false并且有数据
2015-11-22 01:30:17
1217
原创 duBand源码分析-存储部分
一、编写说明对duBand源码的存储部分进行分析,本文档用于记录分析过程。二、源码分析1. 存储区域划分在使用nRF Studio进入程序下载时,可以看出,存储区域分为三个Region,如下图所示,分别存在蓝牙协议栈、应用程序和Bootloader。 在APP中,程序存储区域再细分为APP、DATA和SWAP区,通过阅读源码,得知区域图详细划分如下图所示(注意:d
2015-08-05 18:08:41
1597
原创 duBand源码分析-底层通讯部分
一、编写说明duBand源码中的通讯部分源码较多,但细细阅读发现其分层结构清晰,很值得借鉴。为了深入对duBand通讯源码的学习,并理解通讯分层设计的思想,决定对duBand源码的通讯部分进行分析,本文档用于记录分析过程。二、源码分析1. 层次说明通讯部分主要分为三个层,这三个层主要的功能划分如下:L0层:负责从硬件电路上读、写数据。移植时主要重写该层函数。L1层:负责对协
2015-08-03 16:08:05
1962
转载 在TabActivity中无法使用bindService的解决方法
在单独Activity中startService bindService 都是正常的;把Activity放到TabActivity框架中以后bindService的ServiceConnection无法返回bind对象。结果多次测试发现 Google Android Issue中有这个缺陷,缺陷详细信息在这里(Google Android Issue 2483)解决方法
2015-01-28 18:19:31
519
原创 使用J-LINK烧写MICRO2440的NOR
1、连接J-LINK与MICRO2440核心板 2、打开J-Flash ARM并载入mini2440-SST39VF1601.jflash配置mini2440-SST39VF1601.jflash: http://pan.baidu.com/s/1eQ1l2NK 3、打开配置后如下图所示 4、将supervivi-128M重命名为supervivi-128M.b
2015-01-08 14:23:11
868
原创 移植U-BOOT-2.14.07至MICRO2440开发板
一、编写目的本文档用于记录移植U-BOOT-2.14.07到MICRO 2440开发板的过程。方便日后工作、学习中查阅/参考相关设置方法。U-BOOT移植部分参考“u-boot-2014.04移植手册(TQ2440)”。二、U-BOOT移植所有版本的u-boot源代码压缩包都可以在ftp://ftp.denx.de/pub/u-boot/下载。关于u-boot源代码的信息,看htt
2015-01-08 14:14:50
1617
转载 Centos下telnet的安装和配置
Centos下telnet的安装和配置(完全版,Centos5.5亲测) 一.查看本机是否有安装telnet(centOS5默认有安装telnet) # rpm -qa |grep telnet 如果显示结果为:telnet-0.17-39.el5telnet-server-0.17-39.el5 那恭喜你,机器上已经
2015-01-07 13:54:39
567
原创 duBand源码分析
Duband源码下载地址:http://pan.baidu.com/s/1uBFFC1.Main函数(main.c)a) gpio_init(); //初始化全部IO口为初始状态(输入、关上拉、关复用)b) pre_init(); //初始化时钟与RTC0并进行待机,待RTC0中断唤醒。用此方式待电源稳定c) init1(); //初始化LED、MOTOR、TIMER、ADC、
2014-12-25 17:31:06
4498
原创 搭建nRF51开始环境
一、安装KEIL MDK关于MDK的安装没有什么特别的,只需要按照步骤安装即可,不懂请GOOGLE一下。我这里使用的是Kei_MDK_4.12(http://pan.baidu.com/s/1o6NYFQq),其它版本应该也一样。对于旧版本的MDK对Cortex-M0的支持存在BUG,需要从MDK官网上下载JL2CM3.DLL替换,本文档后面有说明。二、安装nrf51_sdkn
2014-12-25 17:15:49
7047
1
原创 修改SVN项目日志
如在修改SVN项目日志的时候提示如下错误信息,说明SVN默认不允许直接修改LOG文件,实现在HOOK文件夹中实现相关勾子脚本去打开。在SVN数据库的HOOK目录下创建"pre-revprop-change.bat"文件( http://pan.baidu.com/s/1kTkPAg3),并输入以下信息即可。@ECHO OFFset repos=%1set r
2014-12-13 09:50:12
695
原创 SkyEye模拟器开发环境搭建
一、编写目的由于在外面出差,没有把开发板带在身上,无法继续在空余时间学习ARM+LINUX。想起以前学习MCU的时候,总是用PROTEUS仿真硬件的运行,当时刚接触这个行业的时候,也正常PROTEUS让我对它产生浓厚的兴趣。心里总是想,像ARM9这样的平台是否有相应的仿真平台呢。最终确定使用一款名叫SkyEye的纯软件仿真平台,skyeye是开源软件,现在可以模拟很多种ARM,同时可以调试li
2014-09-12 16:35:01
4926
原创 Linux(AT91SAM9260)增加UBIFS文件系统支持
一、 编写目的 2二、 UBIFS文件系统移植 21. 内核配置 22. 挂载UBIFS分区至/mnt目录 33. 制作UBIFS文件系统镜像 6 一、编写目的 UBIFS是针对nand设备而设计的一种新文件系统。针对JFFS2、YAFFS2等专用文件系统也存在着一些技术瓶颈,如:内存消耗大,对FLASH容量、文件系统大小、内容、访问模式等的线性依
2014-07-30 15:06:19
1097
原创 CRAMFS文件系统搭建与配置(Micro2440 + linux 2.6.39)
1. CRAMFS文件系统配置 Cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。 在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。另外,它的速
2014-07-29 20:40:44
1150
原创 JFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39)
1. JFFS2文件系统配置a) 内核配置 # make menuconfig //默认的MINI2440配置已经打开了JFFS2的支持 File systems ---> [*] Miscellaneous filesystems ---> Journa
2014-07-29 20:38:55
1068
原创 UBIFS文件系统搭建与配置(Micro2440 + linux 2.6.39)
1. UBIFS文件系统配置a) 内核配置 2.6.27以后,ubifs被整合进内核树中,本文档所使用的2.6.39内核中已经包好UBIFS的相关代码,因此直接进行make menuconfig配置即可。Device Drivers ---> Memory Technology Device (MTD) support ---> Enable UBI -
2014-07-29 20:36:35
2100
原创 YAFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39)
1. YAFFS2文件系统配置a) YAFFS2源码下载地址yaffs2-HEAD-4e188b0.tar.gz:http://www.yaffs.net/download-yaffs-using-git (http://pan.baidu.com/s/1jG7OAP4)b) 解压源码# tar -xvf yaffs2-HEAD-4e188b0.tar.gz -C ./c
2014-07-29 20:28:57
1103
原创 Linux平台驱动-LED驱动(Micro2440 + linux 2.6.39)
由于LINUX使用了MINI2440的配置,MICRO2440与MINI2440的硬件资料基本一样。因此LED驱动也是通用的,默认的MINI2440配置已经添加对板上4个LED的支持,这里只需要对其配置和测试进行简单的说明。a) menuconfig配置 MICRO2440的LED驱动被定义为一LED类平台设备,使用该类型驱动需要在menuconfig中打开对LED类
2014-07-29 20:27:54
791
原创 module方式调试驱动(Micro2440 + linux 2.6.39)
module方式调试驱动 调试驱动时,为了避免每修改一次内核配置或驱动都要重新编译一次内核镜像,可以将驱动配置成模块(module)的方式进行调试,可在LINUX启动时动态地加载驱动模式到内核中,减少了编译时间,也省去了重启LINUX的时间,大大加快调试进度。以下以RTC驱动为例子,进行动态编译。a) 将RTC编译成module,并打开DEBUG输出# make me
2014-07-29 20:24:22
677
原创 Micro2440 + Linux 2.6.39建立NFS
完成了Linux 2.6.39的移植后,接下来先建立个NFS文件系统,使用“构建最小根文件系统.doc”文档中建立的文件系统(201407090326_fs_mini.tar.bz2 http://pan.baidu.com/s/1gdorX9h)作为NFS根文件系统。此步骤可参考搭建NFS的相关文档,这里不再说明。
2014-07-29 20:17:42
589
原创 移植Linux 2.6.39至Micro2440开发板
所有版本的Linux源代码压缩包都可以在https://github.com/torvalds/linux/下载。本文档使用的Linux源码为linux-2.6.39(网盘:http://pan.baidu.com/s/1dDxjNl3)。
2014-07-29 20:10:49
704
原创 编译U-boot 出现Nothing to be done for `_depend'.错误
通过make distclean清除所有生成文件,再make mini2440_config
2014-07-23 12:37:30
819
原创 AT91SAM9260开发板驱动编写
一、 编写目的 2二、 驱动移植 21. RTC驱动(PCF8563) 22. Led驱动 33. 按键驱动 44. NAND FLASH驱动 65. LCD1602驱动 8三、 总结 11 一、编写目的根据“1.AT91SAM9260建立开发环境.doc”搭建好开发环境后,接下来就是进行各个硬件驱动的调试了。本文档用于记录硬件驱动的调试过程,方便日
2014-07-22 14:01:31
1839
原创 AT91SAM9260搭建LINUX操作系统
一、 编写目的 2二、 系统搭建 21. 下载相关软件包 22. Bootstrap编译 33. U-BOOT编译 54. LINUX编译 75. 通过U-BOOT的TFTP命令从TFTP服务器下载系统镜像 96. 文件系统制作 107. 挂载NFS作为根文件系统 10三、 总结 14一、编写目的本文档用于记录AT91SAM9260 LINUX学
2014-07-22 13:51:22
7185
1
原创 STM32_SPI驱动分析(SD卡)-(2011/01/22)
STM32_SPI驱动分析(SD卡)-------lshiceman 2011/01/22 SD卡有两个可选的通信协议:SD模式和SPI模式。为了电路和程序的简化,选用SPI模式。ZC09的SD与STM32通过SPI1连接。因为STM32内部集成了SPI控制器,所以只需简单的配置,就能实现SPI时序。 一、配置SPI1控制器1、首先要打开SPI1的时钟,并且要打开SPI1
2014-07-22 12:35:32
4695
原创 Bootstrap_V1.9移植
一、 编写目的 2二、 移植过程 21. 下载Bootstrap V1.9 22. 进入开发板目录 23. 修改Makefile中CROSS_COMPILE为arm-linux- 34. 编译 35. 优化代码体积 36. 根据目标板的NAND FLASH修改代码 47. AT91F_NandReadSector函数对比 9 一、编写目的本文档用
2014-07-18 15:00:36
1695
原创 UBOOT_NAND驱动分析
一、 编写目的 2二、 驱动分析 21. 驱动入口 22. NAND相关的结构体 23. NAND初始化过程 74. NAND操作函数分析 15 一、编写目的在《NAND_FLASH(K9F1208U0C)驱动分析》一文中,通过分析AT91SAM9260EK开发板Bootstrap中的NAND驱动时,发现该代码为了优化代码体积(4KB限制),没有实现nand
2014-07-18 14:49:01
2895
原创 NAND_FLASH(K9F1208U0C)驱动分析
一、 编写目的 2二、 NAND FLASH(K9F1208U0C) 21. 引脚说明 22. memory组织方式 33. 地址传输 44. 命令 55. 模式控制 56. 操作时间限制 6三、 Bootstrap驱动分析 61. CPU引脚设置 62. CPU NAND控制器设置 63. 读取NAND ID 64. 读取一页数据 75. 读取
2014-07-18 14:36:21
4873
1
原创 AT91SAM9260使用SAM-BA调试BOOT程序
一、 编写目的 2二、 SAM-BA调试 21. AT91SAM9260启动流程 22. 地址分配 33. 使用SAM-BA v2.12下载bootstrap代码至于SRAM中运行 4 一、编写目的由于调试ARM9时不像MCU那样,可以使用仿真器单步调试(起码ARM9的大部分应用不会用这样做),因此第一次调试的过程是比较痛苦的。幸运的是AT91SAM9260这款
2014-07-18 14:20:38
6135
1
原创 构建最小根文件系统
一、 编写目的 2二、 构建根文件系统 21. 编译busybox 22. 移植glibc库 43. 构建根文件系统目录 4三、 总结 5 一、编写目的本文档用于记录使用Busybox构建arm linux最小根文件系统的过程,方便日后查阅、参考。Busybox下载地址:http://busybox.net/downloads/busybox-1.22.
2014-07-18 13:59:38
2062
原创 CentOS下架设NFS服务器
一、软件包下载NFS的安装是非常简单的,只需要两个软件包即可nfs-utils-* :包括基本的NFS命令与监控程序 portmap-* :支持安全NFS RPC服务的连接下载地址:http://down1.chinaunix.net/distfiles/nfs-utils-1.2.6.tar.bz2http://fossies.org/linux/misc/old/por
2014-07-18 13:57:43
609
原创 CentOS下架设TFTP服务器
一、架设NFS服务器1、安装在CENTOS下,可使用yum命令安装所需要的工具包# yum install tftp tftp-server 2、设置a) 文件配置# gedit /etc/xinetd.d/tftp修改以下加粗内容,server_args为TFTP服务器的地址。 service tftp{socket_type = dgramp
2014-07-18 13:57:03
488
原创 Linux(AT91SAM9260)增加UBIFS文件系统支持
一、 编写目的 2二、 UBIFS文件系统移植 21. 内核配置 22. 挂载UBIFS分区至/mnt目录 33. 制作UBIFS文件系统镜像 6 一、编写目的UBIFS是针对nand设备而设计的一种新文件系统。针对JFFS2、YAFFS2等专用文件系统也存在着一些技术瓶颈,如:内存消耗大,对FLASH容量、文件系统大小、内容、访问模式等的线性依赖,损益均衡能力差或
2014-07-18 12:16:43
2655
转载 Nand Flash原理分析与编程
Nand Flash原理分析与编程NAND Flash 在嵌入式系统中的地位与PC机上的硬盘是类似的。用于保存系统运行所必需的操作系统,应用程序,用户数据,运行过程中产生的各类数据,系统掉电后数据不会护丢失.本文主要介绍关于NAND Flash的组织结构和编写程序的方法。 在三星的NAND Flash 中,当CPU从NAND Flash开始启动时,CPU会通过内部的硬
2014-06-19 22:37:17
564
原创 VirtualBox+CentOS6.5安装增强功能包 - Building the main Guest Additions module [失败]
在VirtualBox中安装CentOS6.5,在安装增强功能包时提示“Building the main Guest Additions module [失败]”
2014-06-17 17:34:10
2602
原创 STM32_FSMC_TFT控制原理(2012/01/03)
硬件连接使用STM32的FSMC可以轻松地访问片外存储器。通过FSMC可以很轻易地驱动ILI9320的LCD控制器。ILI9320与STM32硬件连接如下: /********************************* ** 硬件连接说明 ** ** STM32 ili9320 ** **
2014-06-17 14:44:01
1364
SkyEye模拟器开发环境搭建
2015-08-01
AT91SAM9260使用SAM-BA调试BOOT程序
2015-07-31
AT91SAM9260开发板驱动编写
2015-07-31
AT91SAM9260搭建LINUX操作系统
2015-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人