s3c2410x的GPHCON寄存器控制着H端口的端口复用配置信息.默认的信息是nRTS0,nCTS0,TXD0,RXD0,TXD1,RXD1,TXD2,RXD2,也就是说我要完整的用到串口2不是件容易的事情了,在2410的datasheet里面看到串口3的RXD2和TXD2可以复用为串口2的nRTS1和nCTS1,但是需要修改寄存器GPHCON的值。 我搜了一下在vivi和内核包里面都有这个寄存器的配置信息。 思考如何修改中.........
由于需要,经常要跟踪程监视序运行过程中的cpu各寄存器的清况(32bit and 64bit), 但由于程序编译器的一些固有的特点会导致一些不希望的事情发生. 因此在编译器没有升级的情况下只能采用一些变通的方法,这里以Intel+windows平台举一个小例子(跟踪32bit下的EAX,EBX,ECX,EDX, 64bit下对应是RAX,RBX,RCX,RDX): 为了容易阅读,这里把trace_register写成了函数. inlne int trace_register(char *title,char *message); int main() { ....
我一直以为全局变量是被禁止优化的,可是忽然听到有全局变量参与线程现场切换的说法。迷惑ing...... 如果说全局变量是由寄存器指向的,那么如果全局变量的数目超过 cpu 的寄存器数目怎么办呢? 高手能解答一下么? 谢谢了!
刚开始学习linux驱动,望高手指教。 有类似源码能不能发一份给我 邮箱是 [email]drbigjump@163.com[/email] 谢了先
:em14: :em14: :em14: 很少接触这么底层的细节,今天在一个ptrace程序里需要取寄存器值的时候傻了. MIPS64的glibc头文件里没提供一个类似i586的直接有各个寄存器名字的结构体定义。用ptrace的GETREGS把寄存器值取到一个buffer里之后,不知道怎么读出指定寄存器的值了。
我用linux做nat,服务器是intel的双至强64位的3Gcpu,内存1G,软件系统 centos3.6,将流量加上后,用top检测cpu的状态,发现四个内核cpu只用了一个(64位至强cpu有两个内核),即有一个内核是满负载,其他三个完全空闲,但只要将NAT取消,4个cpu就平均分配任务,非常不解,各位老大有何办法? 在网上搜索了一下,可以确认netfilter是支持多cpu的 [ 本帖最后由 ippen 于 2006-5-11 23:48 编辑 ]