Linux系统零散记录


screen 命令

例如:
screen /dev/ttyACM0 9600
然后在开一个窗口 就可以往ttyACM0 写东西了

例如 :
echo 'AT+NAME?' > /dev/ttyACM0
echo 'AT' > /dev/ttyACM0
echo 'AT+RESET' >/dev/ttyACM0   重启
然后参照 http://wiki.aprbrother.com/wiki/Firmware/ZeroBeacon

linux解压zip文件
unzip 文件


GND  地线
RX,TX  串口输入,串口输出
VDD 电源


编译android源码

为了提高编译的效率,我们最好先设置一下编译器的高速缓存从而加快编译速度,使用下面的命令

prebuilts/misc/linux-x86/ccache/ccache -M 50G

注意事项:
1、前提是已经在 .bashrc文件中添加:export USE_CCACHE = 1
2、ccache是一个可执行文件
3-M 50G 两个参数表示设置50G大小的空间作为缓存,这个数值可以根据自己时间硬盘空间大小继续调整

导入一些编译Android源码所需的环境变量和其它参数等,这个我们只要运行下面的命令就可以了:
source build/envsetup.sh

运行 lunch 命令选择编译目标,运行lunch命令后,会出现一些已经预置好的项目,我们可以输入对应的数字,然后回车选择编译目标对象

运行 make 命令

java jdk 6.45下载链接
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html


配置jdk环境

(1) 创建java目录
$  mkdir -p /usr/local/java
将你下载的jdk-6u45-linux-x64.bin拷贝至/usr/local/java目录
$ cd /usr/local/java
$  cp /home/dennis/Downloads/jdk-6u45-linux-x64.bin .

(2) 解压bin文件
$  chmod +x jdk-6u45-linux-x64.bin
$  ./jdk-6u45-linux-x64.bin
$  rm -rf jdk-6u45-linux-x64.bin

(3) 配置JAVA_HOME和PATH环境变量
$  vim /etc/profile
在该文件的末尾加上如下部分:
JAVA_HOME=/usr/local/java/jdk1.6.0_45
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

(4) 配置ubuntu的JDK和JRE的位置
$  update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.6.0_45/bin/java" 1
$  update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.6.0_45/bin/javac" 1
$  update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.6.0_45/bin/javaws" 1

(5) 配置Oracle为系统默认JDK/JRE
$  update-alternatives --set java /usr/local/java/jdk1.6.0_45/bin/java
$  update-alternatives --set javac /usr/local/java/jdk1.6.0_45/bin/javac
$  update-alternatives --set javaws /usr/local/java/jdk1.6.0_45/bin/javaws

配置完成后,执行如下命令使其立即生效。
$ . /etc/profile
再次执行"java -version"显示如下:
dennis@dubuntu1404:~$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)


错误处理

1.  [root@localhost helloJni]# gcc -shared -fPIC -o libHello.so HelloWorld.o
    /usr/bin/ld: HelloWorld.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
    HelloWorld.o: could not read symbols: Bad value
    collect2: ld 返回 1
    这种错误有时候是在编译HelloWorld.o 的时候没有加上-fPIC ,加上这个重新编译HelloWorld.o 就好了 

2.  提示"libc.so.6: version `GLIBC_2.14' not found",系统的glibc版本太低

    a.到http://www.gnu.org/software/libc/下载最新版本
    b.这里解压到/var/VMdisks/glibc-2.14/
    c.在glibc源码目录建立构建目录,并cd进入构建目录
        mkdir build
        cd build  
        ../configure --prefix=/opt/glibc-2.14  
        make -j4   
        make install  
    d.临时修改环境变量 
        export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH  


名词解释

EPROM:    由以色列工程师Dov Frohman发明,是一种断电后仍能保留数据的计算机储存芯片——即非易失性的(非挥发性)
          它是一组浮栅晶体管,被一个提供比电子电路中常用电压更高电压的电子器件分别编程。一旦编程完成后,EPROM只能用强紫外线照射来擦除。
          通过封装顶部能看见硅片的透明窗口,很容易识别EPROM,这个窗口同时用来进行紫外线擦除。

EEPROM:  (Electrically Erasable Programmable Read-Only Memory),带电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。 
          EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。

NAND FLASH: Nand-flash内存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。
             Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,
             如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。
             应用NAND的困难在于flash的管理需要特殊的系统接口。

NOR FLASH:  NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
             NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

NOR FLASH 和 NAND FLASH 比较
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
执行擦除时块尺寸的不同进一步拉大了NOR和NAND之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。
这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。

l 、NOR的读速度比NAND稍快一些。
2、 NAND的写入速度比NOR快很多。
3 、NAND的4ms擦除速度远比NOR的5s快。
4 、大多数写入操作需要先进行擦除操作。
5 、NAND的擦除单元更小,相应的擦除电路更少。

此外,NAND的实际应用方式要比NOR复杂的多。NOR可以直接使用,并可在上面直接运行代码;而NAND需要I/O接口,因此使用时需要驱动程序。不过当今流行的操作系统对NAND结构的Flash都有支持。
此外,Linux内核也提供了对NAND结构的Flash的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值