头像-47865

沃尔夫斯堡的羊

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

个人成就

获得 114 次赞

帮助过282人

Linux系统中用户态中断处理,守护线程?内核控制路径?

如题,Linux系统和驱动开发中,内核的某设备驱动中注册了中断,且中断处理例程已经实现,但是中断处理例程是在内核态,那么在用户态如何处理中断?查资料需用到守护线程,可是这和“中断只是内核控制路径,不是进(线)程”矛盾吗?还有守护线程属于响应这个中断的进程上下文么?

C嵌入式系统编程中,关于堆的申请和应用

如题,C语言中可以通过malloc()函数从堆上申请内存空间,可是小弟在学习实时操作系统基于多核编程实践中,发现操作系统应用类似于OS_MEM_MALLOC(UINT32 udHandle)这样的函数申请空间,udHandle是指向不同类型内存堆的句柄,比如私有堆,共享堆,ISRAM,DSRAM,请教:1)系统中为什么会分不同类型的堆?这些不同类型的堆和在设计SoC时所考虑的内存介质有关?内部ISRAM?DSRAM?2)为啥在普通C编程中,通过malloc()函数从堆上申请空间时,不需要指定句柄?难道是C或系统默认?

嵌入式操作系统中,设备驱动句柄和堆申请空间?

大致如题,在嵌入式操作系统驱动开发过程中,比如gpio初始化函数中,需要申请一个句柄,并指向一个私有堆共享堆,即句柄空间,这样的作用是啥?在单片机开发中并没有见到通过***malloc()来从堆上申请空间的操作啊?难道单片机底层已经处理好了?

系统编程或移植过程中,设备树的作用是什么?仅仅是一张表?

在系统编程和内核移植过程中,设备树的具体作用是啥?仅仅是一张表?用于实现驱动代码与设备信息相分离?另:Bootloder如uboot是以怎样的方式读取设备树信息?再以什么样的方式传给内核的?指定一块内存区域?

Linux系统中自旋锁spinlock是如何和所保护的资源绑定或者对应的

如题,Linux系统中自旋锁spinlock是如何和所保护的资源绑定或者对应的?调用函数void spin_lock(spinlock_t *lock)是如何保护资源的?入参lock是指啥?是系统中广义的一个部件?还是和某个资源或硬件设备一一对应?

操作系统中,进程或任务的状态具体是什么场景

如题,都知道操作系统中进程的运行需要一定的条件和资源(CPU,内存,外存),进程是操作系统进行资源分配的基本单位,且进程的状态大体有以下几个,如下图:进程就绪是指:进程其它资源和条件都满足,只差CPU,操作系统给其分配CPU后即可进入运行状态;那么请教一下,1)这里的阻塞状态是指​:进程在等待事件,此时进程还占不占有CPU?2)还有一个状态是进程睡眠,进程睡眠是什么状态?进程放弃CPU,可不可以这么理解,进程阻塞其实进程还是占有CPU,但是操作系统调度索性使其放弃CPU,进入睡眠,亦即阻塞状态的进程的下一状态就是睡眠,等待其条件满足时即进入就绪,只待分配CPU?3)以上进程都还处于内存中,而挂起是进程被系统换出到外存。

嵌入式Linux操作系统中,可执行文件.elf如何变为进程的

如题,在嵌入式linux操作系统中,可执行文件.elf文件是如何变为进程的?比如在某arm开发板上,存在一个一个已经编译链接好的.elf文件,可以通过命令让其运行起来(成为一进程),这中间发生了什么?和init进程1有关?

多核系统,如SMP,有什么样的资料或书籍可以推荐

如题,打算较系统的了解一下SoC多核系统,不知路过的大神有没有这方面的资料或书籍,干货?可以推荐一下。。。