<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[rookie的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/linux_rookie</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linux_rookie]]></copyright><item><title><![CDATA[Java攻城记（二）精析常量与变量]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/89879921</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/89879921</guid><author>linux_rookie</author><pubDate>Wed, 15 May 2019 09:27:16 +0800</pubDate><description><![CDATA[补充：
首先我们对上一小节的有关编辑工具EditPlus进行补充。
如何将字节码文件在编译时存放在指定路径和运行时如何找到指定的字节码路径。
1.首先在主方法的路径下建立目录classes

2.配置编译环境：

1）工具-&gt;自定义工具-&gt;参数-&gt; -d classes $(FileName) 最后点击 应用。
3.配置运行环境

点击“运行”、修改“参数”一栏如图所示、应用、确...]]></description><category></category></item><item><title><![CDATA[uboot分析之启动第一阶段（三）lowlevel_init（2）]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/74375138</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/74375138</guid><author>linux_rookie</author><pubDate>Wed, 08 May 2019 10:26:55 +0800</pubDate><description><![CDATA[这一节我们继续来分析lowlevel_init。




一、判断当前代码执行的位置



/* when we already run in ram, we don't need to relocate U-Boot.
     * and actually, memory controller must be configured before U-Boot
     * is running]]></description><category></category></item><item><title><![CDATA[VMware12 Pro虚拟机下Ubuntu16.04磁盘原生扩容]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/89925345</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/89925345</guid><author>linux_rookie</author><pubDate>Tue, 07 May 2019 17:23:04 +0800</pubDate><description><![CDATA[转：http://www.cnblogs.com/sunsiyuan/p/7978769.html

一. Gparted简介

GParted (Gnome Partition Editor)是一种非常小巧自启动运行光盘，采用X org，轻量级的Fluxbox窗口管理器，以及最新的2.6 Linux内核建构。其中包含的GParted硬盘分区工具，作为系统维护盘非常有用。

GParted是一款l...]]></description><category></category></item><item><title><![CDATA[Java攻城记利：Java环境变量]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/89879501</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/89879501</guid><author>linux_rookie</author><pubDate>Mon, 06 May 2019 11:54:17 +0800</pubDate><description><![CDATA[在Java的环境变量配置中有三个变量：
1.JAVA_HOME
这里指向的是JDK的安装根目录例如：D:\soft\jdk7u79j或者D:\soft\jdk8u201
2.PATH
指向Java开发工具的位置：例如D:\soft\jdk8u201\bin
3.CLASSPATH
指向字节码目录
意思是Java虚拟机JVM运行的时候去那个路径下去寻找字节码。
貌似从Java1.5之后的都是默认是当...]]></description><category></category></item><item><title><![CDATA[Package openjdk-7-jre is not available, but is referred to by another package.]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/89845033</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/89845033</guid><author>linux_rookie</author><pubDate>Sun, 05 May 2019 14:44:09 +0800</pubDate><description><![CDATA[较新版本的Ubuntu默认的库中不包含较老版本的openjdk：


	sudo add-apt-repository ppa:openjdk-r/ppa
	
	
	sudo apt-get update
	
	
	sudo apt-get install openjdk-7-jre
	
	
	sudo apt-get install openjdk-7-jdk
	
...]]></description><category></category></item><item><title><![CDATA[Android笔记（二）布局六：TableLayout网格布局]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86627265</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86627265</guid><author>linux_rookie</author><pubDate>Wed, 13 Feb 2019 16:38:28 +0800</pubDate><description><![CDATA[这又是一个用点极低的一个布局，但是他既然存在我们还是需要了解一下：


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;TableLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    ...]]></description><category></category></item><item><title><![CDATA[Android笔记（二）布局五：AbsoluteLayout绝对布局]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86615933</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86615933</guid><author>linux_rookie</author><pubDate>Wed, 13 Feb 2019 16:38:10 +0800</pubDate><description><![CDATA[这一篇有关绝度布局的更加简单，当提及“相对”、“绝对”这两个概念时，我率先想起来的是linux 路径中的“相对路径”和“绝对路径”。

一个是相对于当前路径，从本路径跳出或者是继续进入下一集路径；另一个是从根目录“\”开始的路径。

都说IT是想通的，不知能否帮助大家理解。


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;AbsoluteLay...]]></description><category></category></item><item><title><![CDATA[Android笔记（二）布局四：FrameLayout帧布局]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86615692</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86615692</guid><author>linux_rookie</author><pubDate>Wed, 23 Jan 2019 18:50:18 +0800</pubDate><description><![CDATA[帧布局相对来说比较简单，在开发中很少使用到，最前面的两种布局（线性布局、相对布局是比较常用的）。



在帧布局中我们只需要记住两点就ok：

1、不设定位置默认从（0，0）开始，也就是左上角开始。

2、顺序执行的，最后执行的在最顶端显示。（每次显示一个布局，最后面写的一定在最后显示，覆盖以前的所有层）


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;...]]></description><category></category></item><item><title><![CDATA[Android笔记（二）布局三：RelativeLayout相对布局]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86565236</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86565236</guid><author>linux_rookie</author><pubDate>Sun, 20 Jan 2019 21:55:41 +0800</pubDate><description><![CDATA[RelativeLayout相对布局

这一部分主要是掌握两点：

1、对于父控件的位置布局。

2、对于同级别控件的位置布局。

如图：

一、对于父控件的相对布局

1、选用一个button控件来做演示，拖拽后，删除位置属性我们看button控件会被系统默认安排到什么位置？


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;RelativeL...]]></description><category></category></item><item><title><![CDATA[Android笔记（二）布局二：LinearLayout线性布局]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86558785</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86558785</guid><author>linux_rookie</author><pubDate>Sun, 20 Jan 2019 16:36:11 +0800</pubDate><description><![CDATA[LinearLayout线性布局

一、线性布局的介绍

1、LinearLayout属性为“线性布局”：竖着排列和水平排列都为线性排列。

2、LinearLayout默认为水平排列。

如下代码所示我们观察一下，LinearLayout默认排布的样式：


&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/an...]]></description><category></category></item><item><title><![CDATA[Android笔记（二）布局一：View与ViewGroup]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86553295</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86553295</guid><author>linux_rookie</author><pubDate>Sun, 20 Jan 2019 16:34:53 +0800</pubDate><description><![CDATA[一、这次聊一聊什么是View和ViewGroup
概念
顾名思义：View就是 视图、视域，ViewGroup就是视图组、视域组。
1、在Android APP中，用户界面元素都是由View和ViewGroup的对象构成的。2、View对象构成了展现给用户缤纷多彩的视图。
3、ViewGroup是一个“容器”里面用于存放View（和ViewGroup——没错ViewGroup里面可以包含ViewG...]]></description><category></category></item><item><title><![CDATA[Java攻城记（一）利器]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/86503126</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/86503126</guid><author>linux_rookie</author><pubDate>Wed, 16 Jan 2019 13:43:48 +0800</pubDate><description><![CDATA[说点废话：作为嵌入式方向的工程师，其实Java用的并不是很多。10年前大学毕业之际本以为可以轻松的躲过Java这个大神，但是塞班的消失Android的兴起，也带动了Android设备的铺天盖地，由于相对足够的开源，迫使有“偷窥癖”码神们在Android系统中上下穿梭爽的不行，本人也被迫+主动的被吸了进来。对于Java 的学习原本不像c/c++学习的那么系统，都是用到哪里去学哪里，以点连线，再到面。...]]></description><category></category></item><item><title><![CDATA[linux设备驱动（GPIO子系统）]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/72361138</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/72361138</guid><author>linux_rookie</author><pubDate>Tue, 25 Sep 2018 14:57:00 +0800</pubDate><description><![CDATA[一、gpio子系统的内核源码主要函数

源代码：Gpiolib.c (arch\arm\mach-s5pv210)

 


static __init int s5pv210_gpiolib_init(void)
{
	struct s3c_gpio_chip *chip = s5pv210_gpio_4bit;
	int nr_chips = ARRAY_SIZE(s5pv210_gpio_4...]]></description><category></category></item><item><title><![CDATA[Android系统开发（二）JNI]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/80110430</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/80110430</guid><author>linux_rookie</author><pubDate>Wed, 02 May 2018 16:33:02 +0800</pubDate><description><![CDATA[前言    在嵌入式底层工程师的世界里JNI就是java跟c/c++世界沟通的桥梁，包括我也是这样认为了很多年；前几天跟做app的同事聊天，无意中发现在他们的知识体系中jni是Java世界和Native世界的媒介。&quot;Native&quot;没错这个才是理解的关键。在java语言出现之前，就有很多程序和库都是由Native语言写的，利用现有的库开发事半功倍同时可以保证更好的性能。 就是好比Android的底层...]]></description><category></category></item><item><title><![CDATA[Android系统开发（一）阅读安卓源代码方法——然而并不是SourceInset]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/80082637</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/80082637</guid><author>linux_rookie</author><pubDate>Thu, 26 Apr 2018 16:21:34 +0800</pubDate><description><![CDATA[Android Studio阅读源代码    但凡大阅读大工程源代码在windows 端大都会想起一个 n多年没有更新的工具 SourceInset，说实话在阅读kernel和uboot等大工程时未必真的那么好用，但是目前无可替代。建立索引后速度还算可以，如果阅读Android源代码哪怕是老版本的 这个工具会让你产生幻觉：我的电脑是不是崩了。好吧 我们用Android Studio就是你了。1、首...]]></description><category></category></item><item><title><![CDATA[ARM(s5pv210)裸板驱动之（系统时钟1）]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/74420609</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/74420609</guid><author>linux_rookie</author><pubDate>Wed, 05 Jul 2017 13:36:14 +0800</pubDate><description><![CDATA[自从大家入行开始下至C51单片机上至n核arm架构cpu，时钟都贯穿始终。 
平时我们说买了一台电脑cpu是几G的、几核几G的等，说的这个“G”就是主频，也就是时钟了。其实不是从事开发行业的人对这个也是很懂嘛。主频的高低决定这cpu 的运算速度，主频越高性能越强。对于我们开发人员来说仅仅了解这些是不够的。我们现在说的SOC芯片，一枚上面往往集成了很多片内外设。uart、nand、iic、spi等等他]]></description><category></category></item><item><title><![CDATA[uboot分析之Makefile（二）两种编译]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/73603573</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/73603573</guid><author>linux_rookie</author><pubDate>Thu, 22 Jun 2017 13:56:57 +0800</pubDate><description><![CDATA[前语：
    在工作中发现很多新来的同事不太注重编译的细节，其实如果我们只有一个产品对应一个uboot那无所谓，直接配置然后make搞定一切。但是往往一个团队会维护和开发几款产品，要不然小公司就饿死了，除非公司很有钱不依靠研发产品养活公司。往往都是一个uboot对应很多产品，这样复用性较高，内核也是如此，底层的开发不用跟风，不是越新越好，更何况是工业级产品。底层的更新周期要远远大于应用层。因为]]></description><category></category></item><item><title><![CDATA[uboot分析之Makefile（一）]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/73548875</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/73548875</guid><author>linux_rookie</author><pubDate>Wed, 21 Jun 2017 14:30:12 +0800</pubDate><description><![CDATA[牢骚： 
    嵌入式行业当中，大都以做产品和解决方案居多。对于做产品的公司，BSP相关的工作相对少些甚至没有直接让方案公司来搞定。其实底层工作是还可以细分的，比如BSP和内核驱动。过来的人都清楚，底层工作有模式，但是不像应用开发有太多的套路，没有一个明确的梯形上升空间，总之下面出了问题，都是你的事。由于基于产品为目的开发比比皆是，使得大家忽略的uboot的功效。其实uboot也是一个博大精深]]></description><category></category></item><item><title><![CDATA[Ubuntu14.04_64编译libiconv出问题 ./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/72547188</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/72547188</guid><author>linux_rookie</author><pubDate>Fri, 19 May 2017 16:59:39 +0800</pubDate><description><![CDATA[一、错误现象
环境 Ubuntu14.04 64位 编译 libiconv-1.14 出错
错误现象：
In file included from progname.c:26:0:
./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
 _GL_WARN_ON_USE (gets, "gets is a s]]></description><category></category></item><item><title><![CDATA[linux内核日志及printk结构浅析]]></title><link>https://blog.youkuaiyun.com/linux_rookie/article/details/71908317</link><guid>https://blog.youkuaiyun.com/linux_rookie/article/details/71908317</guid><author>linux_rookie</author><pubDate>Sat, 13 May 2017 21:39:22 +0800</pubDate><description><![CDATA[转载：http://blog.chinaunix.net/uid-20543672-id-3211832.html


 这段时间复习了一下内核调试系统，注意看了一下printk的实现以及内核日志的相关知识，这里做一下总结。




一、printk概述


    对于做Linux内核开发的人来说，printk实在是再熟悉不过了。内核启动时显示的各种信息大部分都是通过她来实]]></description><category></category></item></channel></rss>