头像-47865

沃尔夫斯堡的羊

  • 10南京市
  • 单片机、嵌入式、DSP、模拟技术、传感器/MEMS
  • 消费电子、通讯广播、计算机网络

个人成就

获得 114 次赞

帮助过282人

Linux/Android调试时ADB 的原理

如图,在开发板上调试Linux内核时,会应用到ADB工具,ADB的原理是啥?其分为三个部分运行在PC上的Client和Server,以及运行在设备开发板上的Daemon,PC和设备通过USB或TCP通信,问题是在PC上的client中输入命令adb shell会进入到一个类似于Linux环境命令行Shell中(好像是单板上的系统运行起来了)且能通过ADB能看到单板上的系统信息?请问这是什么原理?

uboot_Linux驱动之设备树操作,如何区分同名节点,

如题,在boot阶段需要某个设备操作禁用,比如emmc设备,现系统中存在两个emmc设备,/{   ....   sdhc_1:sdhci@0x07040000{   }   sdhc_2:sdhci@0x08040000{   }}现需要在启动过程中操作第一个设备,如何区分这两个,fdt API函数【获取节点相对于根节点的偏移】fdt_path_offset(fdt"/sdhci")这样?是获取第一个emmc节点的偏移么?还是可以这样设备名称写全fdt_path_offset(fdt"/sdhci@0x07040000​")?2)设备标签可以作为fdt相关函数的入参,这样 fdt_path_offset(fdt"/sdhc_1")?​

半导体或芯片产业中的术语bring-up是指什么

如题,半导体或芯片产业中的术语bring-up是指什么?是硬件层面的使芯片加工制造封装完成,还是软件层面的使芯片工作?

Linux用户态的实时性和内核态实时性谁更优

Linux操作系统的用户态实时性和内核态的实时性,哪个更优?既然Linux系统已经将驱动放在内核态,为啥还会有用户态驱动这一说呢?这不是折腾吗

带MMU的CPU,外设寄存器,SMMU,TLB?

单片机中可以直接对外设寄存器进行配置,这是大部分MCU系统中物理地址,MCU可以直接配置外设寄存器,从而使外设直接工作,而在CPU的SoC中,为什么有时对外设进行配置,需要配置外设的类似于TLB转换功能的寄存器,外设自行通过这个寄存器中虚拟地址和物理地址转换找到对应的数据存储地址进行工作,比如某些带TLB/SMMU的外设,这是为什么呢?个人猜想,对于整个物理地址空间,CPU和外设的视图不一样?CPU看到的是虚拟地址空间,外设看到的是物理地址空间,二者不统一,如果CPU直接配置外设寄存器,配置的是虚拟地址,外设无法正确工作,所以需要配置外设的寄存器SMMU表,让外设自己去工作?可是,CPU是如何找到外设的寄存器的呢,外设寄存器会通过总线映射到CPU的虚拟地址空间?

Linux 系统中没有文件系统会怎样?

如题,加入操作系统中没有实现文件系统,直接操作存储设备,存储设备中存储的都是二进制,读取出来的还是二进制,类似于单片机 读写 Flash,,文件系统的作用是啥?将二进制数据打包转换成直接的信息?此外还可以做到管理?记录存储上的多个文件(数据块)?

Linux内核可配置频率为100Hz,和CPU的主频的关系

Linux内核可以配置频率为100Hz,这和CPU的主频(如,2G Hz)有什么关系或区别?印象中计算cycle是根据CPU主频来的,那Linux内核为啥还要配置100Hz呢?这是软件层面的么,软件层面的有实际意义么?难道就是一个数值?

多任务实时操作系统中,存在多任务同时应用外设么

如题,在一个单核MCU或CPU上跑多任务,是不是不存在多个任务同时应用某个外设(因为并发)?而中断和任务可能同时应用同一外设,这时需要做好同步(互斥)?而在多核CPU系统中,会出现不同核上的任务同时应用某一外设(因为并行),这时需要对外设进行的操作做好同步(互斥)?当然多核情况下也会存在中断和任务的情况