<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lshiceman的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lshiceman</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lshiceman]]></copyright><item><title><![CDATA[NORDIC DFU使用外部 FLASH作为交换区]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/87189571</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/87189571</guid><author>lshiceman</author><pubDate>Wed, 13 Feb 2019 16:40:47 +0800</pubDate><description><![CDATA[编写目的
NORDIC的SDK中提供了一个BOOTLOADER程序（以下简称BT），BT有两个版本，分别为DUAL BANK和SINGLE BANK，DUAL BANK的BT有一个固件交换区，新固件的接收先存放到SWAP区，接收完成后再进行校验，然后写入主程序区。SINGLE BANK的BT则不带SWAP区，新固件直接写入固件区，由于没有SWAP区，因此如果升级中途失败的话，固件就无法正常启动，只...]]></description><category></category></item><item><title><![CDATA[duBand源码分析-数据自动同步部分]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/49972579</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/49972579</guid><author>lshiceman</author><pubDate>Sun, 22 Nov 2015 01:30:17 +0800</pubDate><description><![CDATA[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并且有数据]]></description><category></category></item><item><title><![CDATA[duBand源码分析-存储部分]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/47301227</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/47301227</guid><author>lshiceman</author><pubDate>Wed, 05 Aug 2015 18:08:41 +0800</pubDate><description><![CDATA[一、编写说明
对duBand源码的存储部分进行分析，本文档用于记录分析过程。
二、源码分析
1. 存储区域划分
在使用nRF Studio进入程序下载时，可以看出，存储区域分为三个Region，如下图所示，分别存在蓝牙协议栈、应用程序和Bootloader。
 
 

在APP中，程序存储区域再细分为APP、DATA和SWAP区，通过阅读源码，得知区域图详细划分如下图所示（注意：d]]></description><category></category></item><item><title><![CDATA[duBand源码分析-底层通讯部分]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/47257577</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/47257577</guid><author>lshiceman</author><pubDate>Mon, 03 Aug 2015 16:08:05 +0800</pubDate><description><![CDATA[一、编写说明
duBand源码中的通讯部分源码较多，但细细阅读发现其分层结构清晰，很值得借鉴。为了深入对duBand通讯源码的学习，并理解通讯分层设计的思想，决定对duBand源码的通讯部分进行分析，本文档用于记录分析过程。
二、源码分析
1. 层次说明
通讯部分主要分为三个层，这三个层主要的功能划分如下：
L0层：负责从硬件电路上读、写数据。移植时主要重写该层函数。
L1层：负责对协]]></description><category></category></item><item><title><![CDATA[在TabActivity中无法使用bindService的解决方法]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/43234285</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/43234285</guid><author>lshiceman</author><pubDate>Wed, 28 Jan 2015 18:19:31 +0800</pubDate><description><![CDATA[在单独Activity中startService bindService 都是正常的;

把Activity放到TabActivity框架中以后bindService的ServiceConnection无法返回bind对象。


结果多次测试发现 Google Android Issue中有这个缺陷，缺陷详细信息在这里(Google Android Issue 2483)

解决方法]]></description><category></category></item><item><title><![CDATA[使用J-LINK烧写MICRO2440的NOR]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/42524399</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/42524399</guid><author>lshiceman</author><pubDate>Thu, 08 Jan 2015 14:23:11 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[移植U-BOOT-2.14.07至MICRO2440开发板]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/42524179</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/42524179</guid><author>lshiceman</author><pubDate>Thu, 08 Jan 2015 14:14:50 +0800</pubDate><description><![CDATA[一、编写目的
本文档用于记录移植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]]></description><category></category></item><item><title><![CDATA[Centos下telnet的安装和配置]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/42491435</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/42491435</guid><author>lshiceman</author><pubDate>Wed, 07 Jan 2015 13:54:39 +0800</pubDate><description><![CDATA[Centos下telnet的安装和配置(完全版，Centos5.5亲测)

 

一.查看本机是否有安装telnet（centOS5默认有安装telnet）

 

# rpm -qa |grep telnet

 

如果显示结果为：

telnet-0.17-39.el5

telnet-server-0.17-39.el5

 

那恭喜你，机器上已经]]></description><category></category></item><item><title><![CDATA[duBand源码分析]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/42149319</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/42149319</guid><author>lshiceman</author><pubDate>Thu, 25 Dec 2014 17:31:06 +0800</pubDate><description><![CDATA[Duband源码下载地址：http://pan.baidu.com/s/1uBFFC

1．Main函数（main.c）
a) gpio_init(); //初始化全部IO口为初始状态（输入、关上拉、关复用）
b) pre_init(); //初始化时钟与RTC0并进行待机，待RTC0中断唤醒。用此方式待电源稳定
c) init1(); //初始化LED、MOTOR、TIMER、ADC、]]></description><category></category></item><item><title><![CDATA[搭建nRF51开始环境]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/42148835</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/42148835</guid><author>lshiceman</author><pubDate>Thu, 25 Dec 2014 17:15:49 +0800</pubDate><description><![CDATA[一、安装KEIL MDK
关于MDK的安装没有什么特别的，只需要按照步骤安装即可，不懂请GOOGLE一下。
我这里使用的是Kei_MDK_4.12（http://pan.baidu.com/s/1o6NYFQq），其它版本应该也一样。
对于旧版本的MDK对Cortex-M0的支持存在BUG，需要从MDK官网上下载JL2CM3.DLL替换，本文档后面有说明。
二、安装nrf51_sdk
n]]></description><category></category></item><item><title><![CDATA[修改SVN项目日志]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/41907659</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/41907659</guid><author>lshiceman</author><pubDate>Sat, 13 Dec 2014 09:50:12 +0800</pubDate><description><![CDATA[如在修改SVN项目日志的时候提示如下错误信息，说明SVN默认不允许直接修改LOG文件，实现在HOOK文件夹中实现相关勾子脚本去打开。


在SVN数据库的HOOK目录下创建"pre-revprop-change.bat"文件（ http://pan.baidu.com/s/1kTkPAg3），并输入以下信息即可。
@ECHO OFF


set repos=%1


set r]]></description><category></category></item><item><title><![CDATA[SkyEye模拟器开发环境搭建]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/39231947</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/39231947</guid><author>lshiceman</author><pubDate>Fri, 12 Sep 2014 16:35:01 +0800</pubDate><description><![CDATA[一、编写目的
由于在外面出差，没有把开发板带在身上，无法继续在空余时间学习ARM+LINUX。想起以前学习MCU的时候，总是用PROTEUS仿真硬件的运行，当时刚接触这个行业的时候，也正常PROTEUS让我对它产生浓厚的兴趣。心里总是想，像ARM9这样的平台是否有相应的仿真平台呢。最终确定使用一款名叫SkyEye的纯软件仿真平台，skyeye是开源软件，现在可以模拟很多种ARM，同时可以调试li]]></description><category></category></item><item><title><![CDATA[CentOs图形界面的开启与关闭]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/39181229</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/39181229</guid><author>lshiceman</author><pubDate>Wed, 10 Sep 2014 15:06:39 +0800</pubDate><description><![CDATA[编辑/etc/inittab，修改当中的数字]]></description><category></category></item><item><title><![CDATA[Linux(AT91SAM9260)增加UBIFS文件系统支持]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38300721</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38300721</guid><author>lshiceman</author><pubDate>Wed, 30 Jul 2014 15:06:19 +0800</pubDate><description><![CDATA[一、 编写目的 2
二、 UBIFS文件系统移植 2
1. 内核配置 2
2. 挂载UBIFS分区至/mnt目录 3
3. 制作UBIFS文件系统镜像 6
 


一、编写目的
        UBIFS是针对nand设备而设计的一种新文件系统。针对JFFS2、YAFFS2等专用文件系统也存在着一些技术瓶颈，如：内存消耗大，对FLASH容量、文件系统大小、内容、访问模式等的线性依]]></description><category></category></item><item><title><![CDATA[CRAMFS文件系统搭建与配置（Micro2440 + linux 2.6.39）]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38277507</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38277507</guid><author>lshiceman</author><pubDate>Tue, 29 Jul 2014 20:40:44 +0800</pubDate><description><![CDATA[1. CRAMFS文件系统配置
        Cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。
        在cramfs文件系统中，每一页(4KB)被单独压缩，可以随机页访问，其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间，使系统可通过更低容量的FLASH存储相同的文件，从而降低系统成本。另外，它的速]]></description><category></category></item><item><title><![CDATA[JFFS2文件系统搭建与配置（Micro2440 + linux 2.6.39）]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38277477</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38277477</guid><author>lshiceman</author><pubDate>Tue, 29 Jul 2014 20:38:55 +0800</pubDate><description><![CDATA[1. JFFS2文件系统配置
a) 内核配置
        # make menuconfig    //默认的MINI2440配置已经打开了JFFS2的支持
        File systems  ---> 
                [*] Miscellaneous filesystems  ---> 
                           Journa]]></description><category></category></item><item><title><![CDATA[UBIFS文件系统搭建与配置（Micro2440 + linux 2.6.39）]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38277389</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38277389</guid><author>lshiceman</author><pubDate>Tue, 29 Jul 2014 20:36:35 +0800</pubDate><description><![CDATA[1. UBIFS文件系统配置
a) 内核配置
        2.6.27以后，ubifs被整合进内核树中，本文档所使用的2.6.39内核中已经包好UBIFS的相关代码，因此直接进行make menuconfig配置即可。
Device Drivers  --->
 Memory Technology Device (MTD) support  ---> 
   Enable UBI -]]></description><category></category></item><item><title><![CDATA[YAFFS2文件系统搭建与配置（Micro2440 + linux 2.6.39）]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38277327</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38277327</guid><author>lshiceman</author><pubDate>Tue, 29 Jul 2014 20:28:57 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[Linux平台驱动-LED驱动（Micro2440 + linux 2.6.39）]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38277281</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38277281</guid><author>lshiceman</author><pubDate>Tue, 29 Jul 2014 20:27:54 +0800</pubDate><description><![CDATA[由于LINUX使用了MINI2440的配置，MICRO2440与MINI2440的硬件资料基本一样。因此LED驱动也是通用的，默认的MINI2440配置已经添加对板上4个LED的支持，这里只需要对其配置和测试进行简单的说明。


a) menuconfig配置
        MICRO2440的LED驱动被定义为一LED类平台设备，使用该类型驱动需要在menuconfig中打开对LED类]]></description><category></category></item><item><title><![CDATA[module方式调试驱动(Micro2440 + linux 2.6.39)]]></title><link>https://blog.youkuaiyun.com/lshiceman/article/details/38277183</link><guid>https://blog.youkuaiyun.com/lshiceman/article/details/38277183</guid><author>lshiceman</author><pubDate>Tue, 29 Jul 2014 20:24:22 +0800</pubDate><description><![CDATA[module方式调试驱动
        调试驱动时，为了避免每修改一次内核配置或驱动都要重新编译一次内核镜像，可以将驱动配置成模块（module）的方式进行调试，可在LINUX启动时动态地加载驱动模式到内核中，减少了编译时间，也省去了重启LINUX的时间，大大加快调试进度。
以下以RTC驱动为例子，进行动态编译。
a) 将RTC编译成module，并打开DEBUG输出
# make me]]></description><category></category></item></channel></rss>