05 2012 档案

摘要:不少人说我对于电子这个行业没什么天分,但是我热爱电子学。我始终记住这么一句话:电子学迷人的地方就是能够采用次等元件实现高质量的电路。我对电子学的热爱不亚于编程,如果说编程更加需要缜密的思维,那么电子设计就需要创造性的思维,我不是说编程不需要创造性思维,而是电子设计的创造性思维更加具有破坏性。 入正题。首先单片机px口的内部上拉都是弱上拉,何谓弱上拉,简单的来说,弱上拉即是上拉电阻很大,那么电阻大,在电源不变的情况下,电流就小嘛,所谓弱指的是电流弱。其实弱上拉是制造工艺确定的,单片机内部的上拉电阻是用mos管做的,那么就不可能把阻值做的很小,很可能是并联了几个mos管才使阻值大得不那么明显,既. 阅读全文
posted @ 2012-05-10 21:59 一维 阅读(772) 评论(0) 推荐(0) 编辑
摘要:强调申明一下以下所说内容都只是涉及到orange's该书的第六章的代码,并不是linux那些复杂的调度过程.下面不再作强调。。从全局来说(再次申明说的是orange's该书的第六章的代码),于渊是每增加一个进程就增加一个GDT和LDT,增加的GDT里面存放LDT的基址,LDT里面只有两个描述符,一个执行段描述符,一个数据段描述符。也即是说每个进程独显一个LDT表关于进程调度来说,最为重要的莫过于进程表,里面包纳了进程的所有内容,于渊提供的进程表,如下:typedef struct s_stackframe { /* proc_ptr points here ... 阅读全文
posted @ 2012-05-10 20:29 一维 阅读(606) 评论(0) 推荐(0) 编辑
摘要:此图选自《linux内核完全注释》由上图可以看出,当特权级没有转换时,中断处理程序和被中断进程是同用一个堆栈,但是当发生了堆栈切换,例如一般中断进程都处于0特权级下,当3的特权级进程运行时,中断发生,那么处理器就要到TSS处找到0级的ss和esp,然后切换堆栈,然后处理器把被中断进程的ss,esp,EFLAGS,CS,EIP,压栈,如果有错误码的话,错误码将最后被压栈(iretd指令并不会自动弹出错误码。。。)这里要特别注意的是,由指令产生的中断(int)是要进行特权级检查的,这意味着只有进程的CPL<=门的DPL才能访问中断门,所以上述的从3特权级跳到0级的中断门只能是在硬件引发中断的 阅读全文
posted @ 2012-05-05 10:21 一维 阅读(908) 评论(0) 推荐(0) 编辑