<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TechMax的专栏]]></title><description><![CDATA[On my way to understand Linux]]></description><link>https://blog.youkuaiyun.com/TechMax</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TechMax]]></copyright><item><title><![CDATA[TTY 和 X窗口系统：在Unix上的进化史]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/53517007</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/53517007</guid><author>TechMax</author><pubDate>Thu, 08 Dec 2016 13:41:31 +0800</pubDate><description><![CDATA[以我自己的经验来看，刚刚接触Unix（linux）的人对终端（terminal，伪终端，虚拟终端），控制台（console），tty（电传打字机）这些概念很难一下子完全理解，尤其是这其中大部分的名称都是几十年前的概念，现在只是还使用这个名字而已，更造成理解上的不便。
LinuxDevCenter的这篇文章对我理解概念帮助巨大，特地翻译希望能帮到更多人。

欢迎指正。]]></description><category></category></item><item><title><![CDATA[Another Way To Register I2C devices]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/52045321</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/52045321</guid><author>TechMax</author><pubDate>Wed, 27 Jul 2016 14:39:29 +0800</pubDate><description><![CDATA[In embedded Linux, the “classic” mean of registering a device is to add the device’s info into board within arch/ folder. There is another approach to do this, without interfering the arch/ directory b]]></description><category></category></item><item><title><![CDATA[Things Need To Be Done in 2016]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/50443769</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/50443769</guid><author>TechMax</author><pubDate>Thu, 31 Dec 2015 21:21:44 +0800</pubDate><description><![CDATA[vision 2016]]></description><category></category></item><item><title><![CDATA[The Creation of Process 0 & 1 on ARM Architecture]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/50434619</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/50434619</guid><author>TechMax</author><pubDate>Wed, 30 Dec 2015 15:35:37 +0800</pubDate><description><![CDATA[This post is used to depict how process 0 & 1 were created, based on TCC8900]]></description><category></category></item><item><title><![CDATA[Device Driver's Probe Routine]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/50385453</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/50385453</guid><author>TechMax</author><pubDate>Wed, 23 Dec 2015 11:07:17 +0800</pubDate><description><![CDATA[Who calls device driver’s probe() routine, and when?
  Where is probe() parameter from?]]></description><category></category></item><item><title><![CDATA[Linux引导：历史和未来]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/46968835</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/46968835</guid><author>TechMax</author><pubDate>Sat, 25 Jul 2015 19:02:21 +0800</pubDate><description><![CDATA[引导Linux：历史和未来译自http://www.almesberger.net/cv/papers/ols2k-9.ps.gz。 
作者： Werner Almesberger 
本文讲解了linux引导过程。相较于其它同类资料，更好的厘清了译者的疑问。请留意本文成文于2000年，因此有很多新的技术，比如ramfs，initramfs等并未包含其中。但从讲解原理的角度来看，论述已经很充分了。]]></description><category></category></item><item><title><![CDATA[ARM system call]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/46408217</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/46408217</guid><author>TechMax</author><pubDate>Mon, 08 Jun 2015 09:27:39 +0800</pubDate><description><![CDATA[1. The system call vector numbers are defined in arch/arm/include/asm/unistd.h
#define __NR_restart_syscall
(__NR_SYSCALL_BASE+  0)
#define __NR_exit (__NR_SYSCALL_BASE+  1)
#define __NR_fork (__N]]></description><category></category></item><item><title><![CDATA[Frequently used vi commands]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/46116747</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/46116747</guid><author>TechMax</author><pubDate>Thu, 28 May 2015 08:55:09 +0800</pubDate><description><![CDATA[hjkl: move cursor
x: delete a char
i: enter INSERT
A: append at the end of current line
a: enter INSERT after cursor


dw: delete word
d$: delete to EOL
de: delete to EOW
dd: delete one line]]></description><category></category></item><item><title><![CDATA[Linux process/thread in practice]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/43573737</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/43573737</guid><author>TechMax</author><pubDate>Fri, 06 Feb 2015 20:34:05 +0800</pubDate><description><![CDATA[This post tries to depict a inside-view about Linux process / thread. In addition to explain the relative theory / idea , you will see examples in real world. specifically, Linux 2.6.28 on ARM 11.

]]></description><category></category></item><item><title><![CDATA[ARM Virtual - Physical memory translation]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/43410567</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/43410567</guid><author>TechMax</author><pubDate>Mon, 02 Feb 2015 16:50:28 +0800</pubDate><description><![CDATA[This post illustrates ARM virtual - physical memory translation. Based on TCC8900.



TCC8900 built based on ARM1176JZF-S, ARM’s proprietary RISC CPU core. The ARM1176JZF-S processor incorporates]]></description><category></category></item><item><title><![CDATA[oops]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/43303291</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/43303291</guid><author>TechMax</author><pubDate>Fri, 30 Jan 2015 09:58:51 +0800</pubDate><description><![CDATA[*******************************************************************************
---Below was printed at arc/arm/mm/fault.c ---> __do_kernel_fault(); 
************************************************]]></description><category></category></item><item><title><![CDATA[TVP5150 driver&application overview]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/43266385</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/43266385</guid><author>TechMax</author><pubDate>Thu, 29 Jan 2015 09:21:02 +0800</pubDate><description><![CDATA[This document is used to record my understanding against camera souce code.


PART 1: Hardware connection


TVP5150 
TCC8900
======= 
=======
SDA |  | GPIO_A1
CAM_I2C data
SCL | 
CAM_I2C]]></description><category></category></item><item><title><![CDATA[SLAB layer]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/42776447</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/42776447</guid><author>TechMax</author><pubDate>Fri, 16 Jan 2015 14:13:07 +0800</pubDate><description><![CDATA[Anotamy of Linux SLAB layer


What it for?
============
The Linux kernel provides the SLAB layer, called the slab allocator, to allocate
and free frequently used data structures.




Where ]]></description><category></category></item><item><title><![CDATA[Memory related MACROs in ARM linux]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/41820835</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/41820835</guid><author>TechMax</author><pubDate>Tue, 09 Dec 2014 10:39:55 +0800</pubDate><description><![CDATA[TCC8900 BSP (linux 2.6.28)
1) TEXT_OFFSET                0x00100000    The Kernel's start address (offset) within RAM.
./arch/arm/Makefile
#Default value
head-y        := arch/arm/kernel/head$(MMU]]></description><category></category></item><item><title><![CDATA[How Linux Initializes Memory - TCC8900]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/41695139</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/41695139</guid><author>TechMax</author><pubDate>Wed, 03 Dec 2014 11:46:33 +0800</pubDate><description><![CDATA[This post tries to describe how Linux initializes the memory system, based on TCC8900 BSP.


First of all, we need to understand the TCC8900's memory address map:(according to official chip spec)]]></description><category></category></item><item><title><![CDATA[TCC8935 HDMI output]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/38541007</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/38541007</guid><author>TechMax</author><pubDate>Wed, 13 Aug 2014 18:55:47 +0800</pubDate><description><![CDATA[This post describes how to send HDMI signal out on tcc8935.


The LCDC's output can be configured to]]></description><category></category></item><item><title><![CDATA[8935 CLOCK subsystem]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/38437263</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/38437263</guid><author>TechMax</author><pubDate>Fri, 08 Aug 2014 11:50:35 +0800</pubDate><description><![CDATA[The CLOCK system is an essential/fundamental component of any system]]></description><category></category></item><item><title><![CDATA[8935 scaler&wmixer driver]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/38121149</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/38121149</guid><author>TechMax</author><pubDate>Fri, 25 Jul 2014 16:51:33 +0800</pubDate><description><![CDATA[TCC8935 features 4 scalars and 6  wmixers within VIOC:
SCALARS:
scalar 0:]]></description><category></category></item><item><title><![CDATA[How Linux creates device files under /dev]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/37926195</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/37926195</guid><author>TechMax</author><pubDate>Fri, 18 Jul 2014 11:49:42 +0800</pubDate><description><![CDATA[This post is used to describe how Linux creates device files under /dev,]]></description><category></category></item><item><title><![CDATA[How Linux Get Tags - m805-8935]]></title><link>https://blog.youkuaiyun.com/TechMax/article/details/37758325</link><guid>https://blog.youkuaiyun.com/TechMax/article/details/37758325</guid><author>TechMax</author><pubDate>Mon, 14 Jul 2014 13:07:35 +0800</pubDate><description><![CDATA[bootloader完成硬件环境初始化后，在启动内核时，需要向内核]]></description><category></category></item></channel></rss>