
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
说明gdb是C/C++编程中常用的调试工具,在嵌入式平台也是一样,但是大部分嵌入式设备内存空间都不充裕,运行gdb程序比较吃力,在嵌入式平台常采用GDB + GDB Server的方式。GDB + GDB Server方式是C/S结构,通过网络进行调试,以减少设备端的内存占用。环境搭建平台:SOC: ssc323交叉编译链:arm-buildroot-linux-uclibcgnueabihfgd
说明在电子产品开发中,防止产品被盗版是一个必须考虑的问题,技术成熟的公司都会有相应措施。盗版的危害盗版拥有价格优势,侵占原版市场开发新产品,成本和时间支出占很大比例的就是研发,而盗版产品,不需要研发支出以及相应的时间支出,因此可以接受比原版更低的价格售卖,进行压价,占有原版市场。盗版质量不行,影响原版声誉盗版厂商可能利用有原厂背锅的因素,为获得更大的利益,采用低价材料;或者盗版实力不强,导致盗版结
【代码】uboot - 驱动开发 - 驱动模型。

说明在嵌入式开发中,SD卡是比较常用的器件,记录下其使用方法。底层配置驱动调试。内核配置。Linux内核选项device deivers-> mmc/sd card support-> Samsung s3c sd/mmc card interface support应用层使用硬件识别和显示如果SD卡驱动和内核配置ok,插入SD卡后,内存文件系统目录/sys/bus/mmc/devic
说明在多个平台进行时区设置,发现有多种方式,有的组合设置能生效但是有些组合不能,有些不解,特记录一下。时区设置早期平台(gm8126平台)之前gm8126板子上时区设置只需要将相应的时区文件覆盖掉/etc/timezone即可。/etc/timezone是时区文件,里面内容是复杂不可读的时区信息。平台使用glibc。MTK8516平台MTK8516平台使用systemd系统为初始化进程(init)
什么是嵌入式研发嵌入式研发的标志是:软件研发和硬件研发相互配合。互联网是固定硬件平台,纯软件开发;机械是没有软件,纯硬件开发。当今的大部分电子,除去硬件部分就是软件,大到电冰箱,电视,小到遥控里面都是由软件来控制的,为了更通用和自由定制,交由软件控制会越来越多。工作划分一个电子产品的研发工作由四部分组成。硬件研发;主要将硬件平台设计出来。驱动研发;驱动研发主要工作是在不同系...
linux 性能分析工具 perf 和火焰图
允许操作系统(EL1)请求虚拟化(EL2)服务当在ARMv8-A架构下,normal world, EL1尝试去访问EL2的时候,则会陷入到虚拟化层的,其中是通过HVC指令HVC指令用于生成同步异常,该异常由EL2中运行的管理程序处理。参数和返回值通过寄存器传递,虚拟机监控程序还可以捕获住操作系统(EL1中的guest os)发出的SMC call,并且支持SMC call被模仿、传递给下一级或拒

说明学过编译原理可知,C语言程序中所有变量的逻辑地址编译后都是确定了的,但是在linux平台上实际使用中可以发现变量的地址不是固定的,如下:* 示例代码#include <stdio.h>int main(){int a;printf("%p\n", &a);return 0;}* 运行结果xxx@Lenovo-V110-15IKB:~/$ ./test0x7ffdd2ec01

说明初学数据结构时,对于链表定义一个空数据的头结点表示不理解,不明白其作用,甚至有时为了节省内存空间而去掉该节点,但是头结点是有意义的。头结点示意图:缺点多定义了一个结点,多占用了一个结点的内存。改善方式:可以采用linux kernel中的list实现方式(结点中只包含结点指针不包含结点数据),减少头节点的内存占用。优点单链表或双链表删除或插入节点时,如果没有头结点,处理有两种情况:操作的对象是
