• <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • X-014-KERNEL-ARM GIC driver的移植

    作者:wowo 发布于:2016-10-31 22:23 分类:X Project

    X Project”完成“X-012-KERNEL-serial early console的移植”之后,终止在如下的kernel panic中:

    NR_IRQS:64 nr_irqs:64 0
    Kernel panic - not syncing: No interrupt controller found.
    ---[ end Kernel panic - not syncing: No interrupt controller found.

    结果很明显,系?#25345;?#27809;有注册中断控制器。因此,本文将以“Bubbugum-96”平台为例,介绍ARM GIC驱动的移植步骤,顺便继续加深对device tree的理解和认识。

    注1:由于“Bubbugum-96”的GIC符合ARM标准,Linux kernel中相关的驱动是现成的,因此GIC驱动的移植就非常简单了,只要配置一下device tree即可。

    阅读全文>>

    标签: Linux Kernel 内核 driver porting 移植

    评论(1) 浏览(2560)

    Linux TTY framework(5)_System console driver

    作者:wowo 发布于:2016-10-29 22:43 分类:TTY子系统

    由[1]中的介绍可知,Linux kernel的console框架,主要提供“控制台终端”的功能,用于:

    1)kernel日志信息(printk)的输出。

    2)实现基础的、基于控制台的人机交互。

    本文将从console driver开发者的视角,介绍:console有关的机制;编写一个console驱动需要哪些步骤;从?#27809;?#30340;?#23884;?#24590;么使用;等等。

    阅读全文>>

    标签: Linux Kernel 内核 driver console

    评论(13) 浏览(5149)

    进程管理和终端驱动:基本概念

    作者:linuxer 发布于:2016-10-28 18:56 分类:进程管理

    对于任?#25105;?#31181;OS,终端部分的内容总是令人非常的痛苦和沮丧,GNU/linux也是如此。?#31185;?#21407;因主要有两个,一是终端驱动和终端相关的系统软件承载了太多的内容:各?#20013;?#25311;终端、 伪终端、串口通信、modem、printer等。其次可能是终端和信号处理、进程关系等耦合在一起加大了理解终端驱动的难度。本文的目标是希望能够理清这些内容。

    阅读全文>>

    标签: process tty session group

    评论(10) 浏览(7509)

    Linux TTY framework(4)_TTY driver

    作者:wowo 发布于:2016-10-25 22:40 分类:TTY子系统

    本文将从驱动工程师的?#23884;?#21435;看TTY framework?#26680;?#24590;么抽象、管理各个TTY设备?它提供了哪些编程接口以方便TTY driver?#30446;?#21457;?怎么利用这些接口编写一个TTY driver?等等。

    注1:话说介绍各个framework的时候,我一直比较喜欢用provider、consumer等概念,因为非常生动、易懂。不过在TTY framework的官方俗语中,压根没有provider、consumer等概念,为了不混淆试听,就算了吧。

    注2:TTY framework在Linux kernel中算得上一个比较繁琐、庞杂的framework了,再加上现在很少有人会直接去写一个TTY driver,因此本文只是介绍一些概念性的东西,以加深对TTY及其driver的理解,为后续学习serial framework打基础。一些细节的东西,大家可参考callme_friend同学写的"TTY驱动分析[2]”,特别是其中的一些图示,很清晰!

    注3:本文所使用的kernel版本为“X Project”初始的“Linux 4.6-rc5”版本。

    阅读全文>>

    标签: Linux Kernel 内核 driver tty tty_struct tty_port

    评论(13) 浏览(6577)

    DRAM 原理 5 :DRAM Devices Organization

    作者:codingbelief 发布于:2016-10-15 9:12 分类:基础技术

    随着系统对内存容量、带宽、?#38405;?#31561;方面的需求提高,系统会接入多个 DRAM Devices。而多个 DRAM Devices 不同的组织方式,会带来不同的效果。本文将对不同的组织方式及其效果进行简单介绍。

    阅读全文>>

    标签: SDRAM dram

    评论(0) 浏览(4903)

    Linux TTY framework(3)_从应用的?#23884;?#30475;TTY设备

    作者:wowo 发布于:2016-10-14 22:13 分类:TTY子系统

    可以毫不夸张的说,我们在使用Linux系统的过?#35752;校?#27599;时每刻都在和TTY打交道,显示输出、键盘输入、?#27809;?#30331;录、shell终端、等等。

    与此同时,作为软件工程师的我们,也会或多或少的困惑:这些习以为常的行为,怎么和kernel中的这些冷冰冰的代码联系起来的?

    因此,在Linux TTY framework分析工作正式开始之前,让我们带着上面的疑问,以这些熟悉的应用场景为视角,进一步理解TTY有关的概念。这就是本文的目的。

    阅读全文>>

    标签: Linux tty console vt 虚拟终端 pty 伪终端 控制终端

    评论(19) 浏览(8505)

    内存初始化(?#24076;?/a>

    作者:linuxer 发布于:2016-10-13 12:05 分类:内存管理

    一直以来,我都非常着迷于两种电影拍摄手法:一种是慢镜头,将每一个细节全方位的展现给观众。另外一种就是快镜头,多半是?#20174;?#19968;个时代的变迁,从非常长的时间段中,截取几个典型的snapshot,合成在十几秒的镜?#20998;校?#21487;以让观众很快的了解一个事物的发展脉络。对应到技术层面,慢镜头有点类似情景分析,把每一?#20889;?#30721;都详细的进行解析,了解技术的细节。快镜头类似数据流分析,勾勒一个过?#35752;校?#25968;据结构的演化。本文采用了快镜头的方法,对内存初始化部分进行描述,不纠缠于具体函数的代码实现,只是希望能给大家一个概略性的印象(有兴趣的同学可以自行研究代码)。BTW,在本文中我?#23884;?#26159;基于ARM64来描述体系结构相关的内容。

    阅读全文>>

    标签: 初始化 内存管理

    评论(27) 浏览(14496)

    X-013-UBOOT-使能autoboot功能

    作者:wowo 发布于:2016-10-5 21:51 分类:X Project

    通过“X-012-KERNEL-serial early console的移植”,早期的串口控制台已经ready,kernel的printk可以正确输出,“X Project”由此进入“文明”时代。基于此,后续?#30446;?#21457;工作将会focus在linux kernel?#24076;?#32780;u-boot,可以蜕化为其原始目标:boot kernel。

    在之前的测试和调试过?#35752;校?#37117;是先进入u-boot的命令行,手动输入bootm命令,boot linux kernel。为了简化这个动作,有必要将u-boot的autoboot功能用起来。

    所谓的autoboot,是指u-boot run起来之后,自动加载并执行linux kernel image的 过程。该功能非常简单,之所以写一篇文章,权当“X Project”开发过程的一个记录。

    阅读全文>>

    标签: boot u-boot bootm autoboot

    评论(6) 浏览(3308)

    X-012-KERNEL-serial early console的移植

    作者:wowo 发布于:2016-10-2 22:50 分类:X Project

    对Linux kernel工程师来说,最?#35272;?#30340;工具非printk莫属(不多解释,大家都懂)。因此,在Linux kernel移植的初期阶段,如果能够尽快地实现printk功能,将会为后续的工作带来极大的帮助。

    在众多可用作printk输出的终端里面(串口、屏幕、USB、网络、等等),串口终端(?#24067;?#20018;口驱动)无疑是实?#21046;?#26469;最简单一种,因此也是嵌入式linux开发过?#35752;校?#29305;别是早期阶段)最普遍使用的。

    但是,受限于Linux TTY框架的复?#26377;?sup>[1],长久以来,在Kernel移植的初期阶段(各?#27490;?#33021;都不ready,缺乏有效的调试手段),快速的实现serial driver也是一个不小的挑战。不过,随着serial subsystem中的early console功能的出现,这种状况得到了极大的改善。

    本文将借助“X Project” kernel?#30446;?#21457;过程,介绍serial early console功能的移植过程。

    注1:博客中“Linux TTY子系统”的分析正在缓慢?#24179;?#19981;过还未涉及console、serial subsystem、earlycon等模块。因此我一直在纠结先写理论(分析),还是先写实践(移植说明)。结论是先写本文,理由是?#26680;?#28982;earlycon功能涉及到TTY子系统的复杂知识,如console driver、tty driver、serial driver等等,但从移植的?#23884;?#30475;,我们可以什么都?#27426;?#36825;种优雅的抽象和封装,是优秀软件(如Linux kernel)所必需具备的特性,也是我们软件人需要竭力?#38750;?#30340;神圣目标。

    阅读全文>>

    标签: Linux Kernel console earlycon printk

    评论(26) 浏览(5905)

    Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog
    连码三全中是什么
  • <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • 足球指数163 中国竞彩网比分直播2017 幸运彩票官网 内蒙古快3一定牛 期特码生肖资料 河南11选5历史开奖号码查询 北京11选5手机号码 总进球898 广东十一选五在线开奖 山东11选5历史开奖记录查询结果 意甲20年20人 天津11选5新)开奖结果 澳洲幸运5开奖软件 安徽十一选五开奖走势 中国彩票中奖大号码