1.
2. 3. 4.
5. 6.
7.
8.
君正
ls、cd、rm、mv、grep、apt-get、make menuconfig、mm分别是什么操作
答:grep是用以在file内文中对比相对应的部分,或是当没有指定档案时,由标准输入中去对比,grep会将符合的哪一行列出。
Apt-get主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 make menuconfig是图形化得内核配置;
写出函数实现memcpy,void* memcpy(void* dst,const void* src,intlen); 写一个结构体或类用来存放像hao123订火车票系统的信息,并且可用于维护。 有个函数int led(void),可以返回灯的状态,返回值非零为开,返回零为关。写一个函数,每隔一秒采集一次灯的状态,并且打印最近10次的led的状态(打印格式自定)。预测打印的结果。
I2C、SPI、USB…….写出你熟悉的引脚。寄存器。 Linux系统申请内存的方式有哪些,各自的特点是。
答:物理内存的分配, 在内核中最终都要调用__alloc_pages().它是最核心的分配函数,申请大小最大不超过2的MAX_ORDER次幂,在现在好像最大定义为4MB。 线性地址, kmalloc和get_free_pages,线性地址, 对应的物理内存就是低端内存,kmalloc是基于slab的分配技术, 最大不能超过128KB。 虚拟地址, vmalloc申请, 他只是在内核中建立类似与用户空间的vm_area的一个虚拟内存空间到vmlist中, 最终的物理内存分配还是基于缺页的。 用户空间的虚拟内存, malloc之类的, 最终在内核中都是do_map()和do_brk()。实际上也只是建立了一块虚拟空间,最终的物理内存还是在缺页异常时分配的。
cache的作用是什么,用图画出cpu、cache、内存可能出现cache和内存不一致的情况,并说明解决方法。
Cache的作用是: cache 高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访。
cache和内存不一致的情况:1、 写操作后,没有刷洗cache到内存里面,那么cache为脏,跟内存不同步。2、多CPU模式。 一个CPU修改了本地cache,那么其它CPU的cache全部失效。3、DMA访问。DMA修改了内存中的值,cache中仍然为原值,错误。 中断处理的流程。
1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。 2、寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。 3、执行中断处理程序。
4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行
9. A和B两个程序有一段相同的代码
int num[10]; .......
printf(\printf(\A和B一同执行
有没有可能A的结果是 the addr: 0x200000 the value: 100 B的结果是:
the addr: 0x200000 the value: 1000
这种状况可能出现么?说明可能出现这种状况的情形
10. 看原理图的题,考元件名称:电阻,三极管和二极管。还有输入高电平时候的状态。第
三小问是那个二极管的作用。那个好像是个稳压二极管。
11. 是个看门狗的题,英文的简介,介绍了看门狗的三个寄存器,有地址,让你自己编写一
个32768Hz输入时钟的情况下,让cpu250ms后复位的程序。 12. 一道程序分析的题目,问程序的作用,不足和优化方法。
其他题目:
1. 27个运动员很累,买饮料,饮料促销,三个空瓶换一瓶饮料,问最少买多少瓶可以保证
每人一瓶。除了用空瓶兑换,你还有什么别的好方法。
2. 唐僧四人,你想当哪个?原因。另外三人在团队中的作用?哪个人物最重要?
3. 你是个刚毕业的护士,你和一个很牛的外科医生手术,手术快缝合的时候,你发现盘子
里只有7块纱布,但是手术用了8块。这时你怎么办?