<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lr2131的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/lr2131</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; lr2131]]></copyright><item><title><![CDATA[linux内核的学习]]></title><link>https://blog.csdn.net/lr2131/article/details/121224234</link><guid>https://blog.csdn.net/lr2131/article/details/121224234</guid><author>lr2131</author><pubDate>Tue, 09 Nov 2021 11:26:06 +0800</pubDate><description><![CDATA[linux内核的学习

2021-11-09

直到昨天，我已经可以看懂从实模式切换到保护模式的代码了，虽然也还有一些小细节有疑问，但大体上已确实能读懂读通。从实模式到保护模式的书，已经看到12章了，还不能看懂存储器保护的具体做法，就去看了新设计团队的《linux内核设计的艺术》第一版，第二版没下完。

这本书我是有的，但家里找不到。这本书我看过一章，感觉写得不错，让我以为是外国人写的，其实是中国人写的。它的一大特点是，它用了图来辅助讲解，这些图都给得很不错，对于理解过程是非常有帮助的。我又用手机下载下来看]]></description><category></category></item><item><title><![CDATA[节点方式操作IO]]></title><link>https://blog.csdn.net/lr2131/article/details/119753210</link><guid>https://blog.csdn.net/lr2131/article/details/119753210</guid><author>lr2131</author><pubDate>Tue, 17 Aug 2021 11:46:34 +0800</pubDate><description><![CDATA[cd  /sys/class/gpio

你想操作gpio79，但这个目录下没有。

怎么办，这个目录下有export

执行命令：

echo 79 &gt; export

就有了gpio79的文件夹。

cd gpio79

这里面内容很多，重点关注direction和value

方向如果是in，你设置value是无效的。

设置方向的方法：

echo out &gt; direction

然后看看方向是不是out

cat direction

如果输出out就是ok了

然后可以echo..]]></description><category></category></item><item><title><![CDATA[make版本不符合要求，不能编译android的解决方法]]></title><link>https://blog.csdn.net/lr2131/article/details/45673603</link><guid>https://blog.csdn.net/lr2131/article/details/45673603</guid><author>lr2131</author><pubDate>Tue, 12 May 2015 19:10:46 +0800</pubDate><description><![CDATA[2015-5-12



Android can only be built by versions 3.81 and 3.82

下载地址ftp://ftp.gnu.org/gnu/make/

make3.8.2的安装步骤：

tar -zxvf make3.8.2.tar.gz

在make-3.8.2目录下

./configure

make

mak]]></description><category></category></item><item><title><![CDATA[S3C2440 汇编之地址跳转]]></title><link>https://blog.csdn.net/lr2131/article/details/43731037</link><guid>https://blog.csdn.net/lr2131/article/details/43731037</guid><author>lr2131</author><pubDate>Wed, 11 Feb 2015 10:52:57 +0800</pubDate><description><![CDATA[S3C2440 汇编之地址跳转 

2015-2-11

自己写了个IRQ的跳转处理，但是却发现BL指令编译通不过，BLX也不行。

后来才知道，S3C2440还是ARMv4的汇编指令体系结构，不支持BLX，而BL只支持跳转到常量地址。

形如BL R0的写法是不行的，而BX是可以的，BX是带模式切换的，不过模式不需要切换也一样可以用，但BX不能把下一个地址保存到LR中，

只有BL和BLX才可以...]]></description><category></category></item><item><title><![CDATA[日常使用ubuntu杂记]]></title><link>https://blog.csdn.net/lr2131/article/details/43560603</link><guid>https://blog.csdn.net/lr2131/article/details/43560603</guid><author>lr2131</author><pubDate>Fri, 06 Feb 2015 17:29:36 +0800</pubDate><description><![CDATA[日常使用ubuntu杂记
2015-2-6
一、创建程序的快捷方式，并放到桌面
sudo ln -s 「程序绝对路径」 「快捷方式路径」
把eclipse的快捷方式创建到桌面，因为eclipse安装的目录比较深，每次打开都很花时间，放个快捷方式到桌面很方便。

二、设置ubuntu的休眠时间
在系统设置的  亮度和锁屏中设置，不是在电源那一栏设置。

三、替换ubuntu的uni]]></description><category></category></item><item><title><![CDATA[S3C2440裸机实战 之一 创建初始工程]]></title><link>https://blog.csdn.net/lr2131/article/details/43459899</link><guid>https://blog.csdn.net/lr2131/article/details/43459899</guid><author>lr2131</author><pubDate>Tue, 03 Feb 2015 22:46:14 +0800</pubDate><description><![CDATA[S3C2440裸机实战 之 创建初始工程
2015-2-3]]></description><category></category></item><item><title><![CDATA[计算机技术经典书籍]]></title><link>https://blog.csdn.net/lr2131/article/details/37756427</link><guid>https://blog.csdn.net/lr2131/article/details/37756427</guid><author>lr2131</author><pubDate>Mon, 14 Jul 2014 10:02:12 +0800</pubDate><description><![CDATA[本文转载自 http://blog.csdn.net/pysjp/article/details/3937578]]></description><category></category></item><item><title><![CDATA[汇编语言的应用]]></title><link>https://blog.csdn.net/lr2131/article/details/37724073</link><guid>https://blog.csdn.net/lr2131/article/details/37724073</guid><author>lr2131</author><pubDate>Sat, 12 Jul 2014 11:25:18 +0800</pubDate><description><![CDATA[2014-7-12
汇编语言的应用
历史上，汇编语言曾经是非常流行的程序设计语言之一。随着软件规模的增长，以及随之而来的对软件开发进度和效率的要求，高级语言逐渐取代了汇编语言。但即便如此，高级语言也不可能完全替代汇编语言的作用。就拿Linux内核来讲，虽然绝大部分代码是用C语言编写的，但仍然不可避免地在某些关键地方使用了汇编代码。由于这部分代码与硬件的关系非常密切，即使是C语言也会显得力不从心]]></description><category></category></item><item><title><![CDATA[外设实战之KEY(查询方式)]]></title><link>https://blog.csdn.net/lr2131/article/details/28613133</link><guid>https://blog.csdn.net/lr2131/article/details/28613133</guid><author>lr2131</author><pubDate>Thu, 05 Jun 2014 13:47:49 +0800</pubDate><description><![CDATA[2014-6-5

外设实战之KEY(查询方式)


之前已经能驱动LED，这只是用到GPIO的输出功能，接下来要用到GPIO的输入功能。把输入IO连到KEY上。
两个按键，KEY1和KEY2，定义按下KEY1让LED1亮，弹起让LED1灭。按下KEY2让LED2亮，弹起让LED2灭。



接下来是实战步骤:


一、查看电路原理图：
       两个按键，KEY1]]></description><category></category></item><item><title><![CDATA[外设实战之LED]]></title><link>https://blog.csdn.net/lr2131/article/details/28400327</link><guid>https://blog.csdn.net/lr2131/article/details/28400327</guid><author>lr2131</author><pubDate>Wed, 04 Jun 2014 17:03:29 +0800</pubDate><description><![CDATA[外设实战总集之(LED+SYSTICK)
2014-6-4


现在开发环境搭建]]></description><category></category></item><item><title><![CDATA[外设实战之搭建开发环境]]></title><link>https://blog.csdn.net/lr2131/article/details/28275211</link><guid>https://blog.csdn.net/lr2131/article/details/28275211</guid><author>lr2131</author><pubDate>Tue, 03 Jun 2014 17:51:23 +0800</pubDate><description><![CDATA[外设实战总集
2014-6-3
一、搭建环境
先从搭建环境开始，最好尽量是自己动手搭建的环境，虽然可能问题很多，但至少能学到很多东西，以后逐渐熟悉了，问题自然越来越少，越来越得心应手。用别人的工程虽然开始很方便，但毕竟是别人的，只是个权宜之计。以后有问题，或是需要做大的改动，就很难动手了。



1.硬件环境：STM32F051R8T6，选的是青风电子的开发板，好像是v2版本的板子。]]></description><category></category></item><item><title><![CDATA[每天学点ARM汇编 (ARMv4/v5版本汇编) ()]]></title><link>https://blog.csdn.net/lr2131/article/details/9342143</link><guid>https://blog.csdn.net/lr2131/article/details/9342143</guid><author>lr2131</author><pubDate>Tue, 16 Jul 2013 14:57:30 +0800</pubDate><description><![CDATA[2013-7-16   条件执行
在ARM的指令编码表中，统一占用编码的最高4位[31：28]来表示条件码，即cond。
每种条件码用两个英文缩写字符表示其含义，可添加在指令助记符的后面，表示指令执行时必须要满足的条件。ARM指令根据CPSR中的条件位自动判断是否执行指令。在条件满足时，指令执行；否则，指令被忽略（可认为执行了一条NOP伪指令）。


指令的条件码：]]></description><category></category></item><item><title><![CDATA[王爽《汇编语言》（第二版） 学习笔记 （第十七章 使用BIOS进行键盘输入和磁盘读写）]]></title><link>https://blog.csdn.net/lr2131/article/details/6522844</link><guid>https://blog.csdn.net/lr2131/article/details/6522844</guid><author>lr2131</author><pubDate>Mon, 02 May 2011 21:36:00 +0800</pubDate><description><![CDATA[ 第十七章使用BIOS进行键盘输入和磁盘读写本章概述:1.         大多数有用的程序都需要处理用户的输入，键盘输入是最基本的输入。2.         程序和数据通常需要长期存储，磁盘是最常用的存储设备。BIOS为这两种外设的I/O提供了最基本的中断例程。一、             int 9 中断例程对键盘输入的处理1.         键盘输入将引发9号中断，]]></description><category></category></item><item><title><![CDATA[程序员10大境界]]></title><link>https://blog.csdn.net/lr2131/article/details/6384696</link><guid>https://blog.csdn.net/lr2131/article/details/6384696</guid><author>lr2131</author><pubDate>Mon, 02 May 2011 16:12:00 +0800</pubDate><description><![CDATA[本文转载自：http://student.csdn.net/space.php?uid=1318585&do=blog&id=60100程序员10大境界<br /> <br />自西方文艺复兴以来，中国在自然科学方面落后西方很多，软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见，有些人认为中国的程序员水平远落后于西方，有些则认为中国的程序员个人能力并不比西方的程序员差，只是整个软件产业落后而已。 <br /><br />那么，到底中国的程序员水平比西方程序员水平差，还是中国有许多优秀的程]]></description><category></category></item><item><title><![CDATA[王爽《汇编语言》（第二版） 学习笔记 （第十六章 直接定址表）]]></title><link>https://blog.csdn.net/lr2131/article/details/6378090</link><guid>https://blog.csdn.net/lr2131/article/details/6378090</guid><author>lr2131</author><pubDate>Sun, 01 May 2011 00:21:00 +0800</pubDate><description><![CDATA[<br />第十六章直接定址表<br />一、             描述了单元长度的标号<br />1.         我们一直在代码段中使用标号来标记指令、数据、段的起始地址。<br />2.         程序中code、a、b、start、s等标号仅仅表示了内存单元的地址。<br />3.         我们可以使用一种标号，这种标号不但表示内存单元的地址，还表示了内存单元的长度，即表示在此标号处的单元，是一个字节单元，还是字单元，还是双字单元。如<br />a:db1,2,3,4,5,6,]]></description><category></category></item><item><title><![CDATA[王爽《汇编语言》（第二版） 学习笔记 （第十五章 外中断）]]></title><link>https://blog.csdn.net/lr2131/article/details/6522765</link><guid>https://blog.csdn.net/lr2131/article/details/6522765</guid><author>lr2131</author><pubDate>Sat, 30 Apr 2011 18:54:00 +0800</pubDate><description><![CDATA[ 第十五章外中断本章概述:1.         CPU在计算机系统中，除了能够执行指令，进行运算外，还应该能够对外部设备进行控制，接收它们的输入，向它们进行输出。也就是说，CPU除了有运算能力外，还要有I/O能力。2.         要及时处理外设的输入，显然需要解决两个问题:1)        外设的输入随时可能发生，CPU如何得知2)        CPU从何处得到外]]></description><category></category></item><item><title><![CDATA[王爽《汇编语言》（第二版） 学习笔记 （第十五章 外中断）]]></title><link>https://blog.csdn.net/lr2131/article/details/6376690</link><guid>https://blog.csdn.net/lr2131/article/details/6376690</guid><author>lr2131</author><pubDate>Sat, 30 Apr 2011 18:50:00 +0800</pubDate><description><![CDATA[<br />第十五章外中断<br />本章概述:<br />1.         CPU在计算机系统中，除了能够执行指令，进行运算外，还应该能够对外部设备进行控制，接收它们的输入，向它们进行输出。也就是说，CPU除了有运算能力外，还要有I/O能力。<br />2.         要及时处理外设的输入，显然需要解决两个问题:<br />1)        外设的输入随时可能发生，CPU如何得知<br />2)        CPU从何处得到外设的输入<br /> <br />一、             接]]></description><category></category></item><item><title><![CDATA[王爽《汇编语言》（第二版） 学习笔记 （第十四章 端口）]]></title><link>https://blog.csdn.net/lr2131/article/details/6376399</link><guid>https://blog.csdn.net/lr2131/article/details/6376399</guid><author>lr2131</author><pubDate>Sat, 30 Apr 2011 14:47:00 +0800</pubDate><description><![CDATA[<br />第十四章端口<br />本章概述:<br />1.         各种存储器都和CPU的地址线、数据线、控制线相连。CPU在操作它们的时候，把它们都当做内存来对待，把它们总地看做一个由若干存储单元组成的逻辑存储器，这个逻辑存储器我们称其为内存地址空间。<br />2.         在PC机系统中，和CPU通过总线相连的芯片除各种存储器外，还有以下3中芯片：<br />1)        各种接口卡(如网卡、显卡)上的接口芯片，它们控制接口卡进行工作；<br />2)        主板上的]]></description><category></category></item><item><title><![CDATA[王爽《汇编语言》（第二版） 学习笔记 （第十三章 int指令）]]></title><link>https://blog.csdn.net/lr2131/article/details/6373015</link><guid>https://blog.csdn.net/lr2131/article/details/6373015</guid><author>lr2131</author><pubDate>Fri, 29 Apr 2011 22:31:00 +0800</pubDate><description><![CDATA[<br />第十三章 int指令<br />本章概述：<br />CPU除了外中断外，还需要响应和处理内中断，由int指令引发的中断。<br />一、             int指令<br />1.         int指令的格式为：int  n，n为中断类型码，它的功能是引发中断过程。CPU执行int n指令，相当于引发一个n号中断的中断过程。<br />2.         int指令的最终功能和call指令相似，都是调用一段程序。<br />3.         一般情况下，系统将一些具有一定功]]></description><category></category></item><item><title><![CDATA[《从汇编语言到Windows内核编程》学习笔记 （第一章 汇编指令与C语言）]]></title><link>https://blog.csdn.net/lr2131/article/details/6522675</link><guid>https://blog.csdn.net/lr2131/article/details/6522675</guid><author>lr2131</author><pubDate>Fri, 29 Apr 2011 01:00:00 +0800</pubDate><description><![CDATA[ 第一章         汇编指令与C语言一、             上机建立第一个工程用C/C++编写的正确代码经过编译器生成的汇编代码的汇编指令的用法一定是正确的。1.         用visual studio 创建工程1)        用创建工程或自己手动的方式来创建一个.c文件。2)        此时创建的程序为：#inlcude “stdafx.h”]]></description><category></category></item></channel></rss>