摘要: 关于ARM的一些基本概念,大家可以参考我之前的文章: 《到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】》 关于ARM指令用到的IDE开发环境可以参考下面这篇文章 《1. 从0开始学ARM-安装Keil MDK uVision集成开发环境》 一、计算 阅读全文
posted @ 2020-11-28 18:02 一口Linux 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 关于ARM的一些基本概念,大家可以参考我之前的文章: 《到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】》 0. 如何学习arm? ARM的知识点很多很杂,很多同学都遇到过类似的问题,单个的汇编指令一看就懂,但是结合uboot代码后,却一段都看不下去 阅读全文
posted @ 2020-11-25 19:08 一口Linux 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 嵌入式工程师到底要不要学习ARM汇编指令? 网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言。 而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精、搞深,汇编和计算机系统知识是必须的。 我们来列举一些问题 系统是如何启动的? 链接C语言的函数是如何调 阅读全文
posted @ 2020-11-25 18:03 一口Linux 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(),可是fun_2最后也需要调用fun_1,上面的失效方法感觉就不行了,请问怎么做才对? 我把问题简单整 阅读全文
posted @ 2020-11-18 15:47 一口Linux 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 两个互斥锁,怎么形成一个死循环? 粉丝的提问,必须安排。 两个线程,两个互斥锁如何形成死锁? 程序流程图如下: 如上图所示: t0时刻,主线程创建子线程,并初始化互斥锁mutex1、mutex2; t1时刻,主线程申请到了mutex1、子线程申请到了mutex2; t2时刻,主线程和子线 阅读全文
posted @ 2020-11-14 08:57 一口Linux 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 一、1个端口号可以同时被两个进程绑定吗? 根据端口号的绑定我们分以下几种情况来讨论: 2个进程分别建立TCP server,使用同一个端口号8888 2个进程分别建立UDP server,使用同一个端口号8888 2个进程1个建立TCP server、1个建立UDP server,都使用端口号888 阅读全文
posted @ 2020-11-09 08:41 一口Linux 阅读(7224) 评论(1) 推荐(2) 编辑
摘要: 概念 Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干。 如果有一个任务想要获得已经被占用的信号量时,信号量会将其放入一个等待队列(它不是站在外面痴痴地等待而是将自己的名字写在任 阅读全文
posted @ 2020-11-06 20:30 一口Linux 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 一、什么是库? 在windows平台和linux平台下都大量存在着库。一般是软件作者为了发布方便、替换方便或二次开发目的,而发布的一组可以单独与应用程序进行compile time或runtime链接的二进制可重定位目标码文件。 本质上来说库是一种可执行代码的二进制形式,这个文件可以在编译时由编译器 阅读全文
posted @ 2020-10-30 13:45 一口Linux 阅读(2139) 评论(0) 推荐(0) 编辑
摘要: 一、CSM300概述 CSM300(A)系列是一款可以支持 SPI / UART 接口的CAN模块。 1. 简介 CSM300(A)系列隔离 SPI / UART 转 CAN 模块是集成微处理器、 CAN 收发器、 DC-DC 隔离电源、 信号隔离于一体的通信模块, 该芯片可以很方便地嵌入到具有 S 阅读全文
posted @ 2020-10-30 13:26 一口Linux 阅读(1974) 评论(0) 推荐(0) 编辑
摘要: 线程调度的几个基本知识点 多线程并发执行时有很多同学捋不清楚调度的随机性会导致哪些问题,要知道如果访问临界资源不加锁会导致一些突发情况发生甚至死锁。 关于线程调度,需要深刻了解以下几个基础知识点: 调度的最小单位是轻量级进程【比如我们编写的hello world最简单的C程序,执行时就是一个轻量级进 阅读全文
posted @ 2020-10-27 18:48 一口Linux 阅读(394) 评论(0) 推荐(0) 编辑