ARM
文章平均质量分 77
arm
Li-Yongjun
这个作者很懒,什么都没留下…
展开
-
CUDA
CUDA 允许开发人员利用 NVIDIA GPU 的并行计算能力来加速应用程序的执行。CUDA 使开发人员能够使用类似 C 语言的编程语言来写代码,并通过 CUDA 编译器将其编译成可以在 GPU 上运行的代码。原创 2024-06-27 08:15:00 · 569 阅读 · 0 评论 -
ASLR 和 PIE
ASLR 不负责代码段以及数据段的随机化工作,这项工作由 PIE 负责。但是只有在开启 ASLR 之后,PIE 才会生效。无论是 ASLR 还是 PIE,由于颗粒度问题,被随机化的都只是某个对象的起始地址,而在该对象的内部依然保持原来的结构,也就是说相对偏移是不会变的。原创 2024-02-26 21:43:45 · 827 阅读 · 0 评论 -
watchpoint
内存被踩,通过 watchpoint 找到真凶。原创 2024-02-22 21:57:10 · 481 阅读 · 0 评论 -
Kernel 地图
看内核代码,先看 Makefile 和 Kconfig。原创 2024-02-19 22:03:57 · 980 阅读 · 0 评论 -
PAGE_OFFSET
PAGE_OFFSET 的值支持通过 Kconfig 配置,其默认的值是 0xC0000000,即用户空间 3GB,内核空间 1GB。当然这个可以由我们动态配置,可以配置 PAGE_OFFSET 为 0x80000000,即用户空间和内核空间均为 2GB。原创 2024-01-31 23:15:00 · 420 阅读 · 0 评论 -
内核调试 && 应用程序调试
内核调试和应用程序调试,底层都是使用 gdb,只不过受限于环境、系统等因素,使用了不同的辅助程序(设备)罢了。原创 2024-01-19 00:59:09 · 537 阅读 · 0 评论 -
ARM 寄存器
Cortex A 系列的 ARM 处理器共有 40 个 32 位寄存器,其中 33 个为通用寄存器,7 个为状态寄存器。用户模式和系统模式共用同一组寄存器。原创 2024-01-11 21:37:25 · 1725 阅读 · 1 评论 -
pci_enable_device()
从协议中来,到协议中去。原创 2023-12-25 22:15:00 · 1530 阅读 · 0 评论 -
USB2.0 软件篇
形象点说,Spec 是理论基础,内核代码是具体实现,理论懂了,看代码就和看故事会差不多了。原创 2023-12-20 22:30:00 · 1121 阅读 · 0 评论 -
/dev/root
/dev/root 曾经是 /dev/mmcblk0p2 的软链接,在使用这个软链接将该设备挂载到根目录后,又将该软链接删除了。原创 2023-11-27 01:42:38 · 1298 阅读 · 0 评论 -
DHCP Host Name
udhcpc 命令使用 -x hostname:xxx 选项,可以在 DHCP Discover 报文中添加 option 12 选项,即 Host Name。原创 2023-12-05 23:37:16 · 1540 阅读 · 0 评论 -
SD NAND
那有没有一款产品来解决这个现状呢?有,那就是 SD NAND。原创 2023-10-24 22:45:00 · 1635 阅读 · 3 评论 -
ARM Linux DIY(十四)摄像头捕获画面显示到屏幕
摄像头对应 /dev/video0,屏幕对应 /dev/fb0,所以我们只要写一个应用程序,读取 video0 写入到 fb0 就可以了。原创 2023-09-29 06:30:00 · 583 阅读 · 0 评论 -
ARM Linux DIY(十三)Qt5 移植
一、指定 platform 为 linuxfb;二、添加字库原创 2023-09-17 21:56:06 · 879 阅读 · 0 评论 -
ARM Linux DIY(十一)板子名称、开机 logo、LCD 控制台、console 免登录、命令提示符、文件系统大小
Linux 吉祥物小企鹅已跃然屏上原创 2023-09-11 00:47:14 · 666 阅读 · 0 评论 -
ARM Linux DIY(四)WiFi 调试
小时候,给电视机安装摇头天线;长大后,给 WiFi 手搓天线。原创 2023-08-26 21:49:41 · 1743 阅读 · 1 评论 -
ARM Linux DIY(三)板载串口和 LCD 调试
发现上电后匹配的是 panel-sitronix-st7789v 这份驱动,那就禁用此启动,换下面的试试,结果还真可以,上电后屏幕直接就显示启动 log 了。原创 2023-08-23 23:21:56 · 1481 阅读 · 4 评论 -
ARM Linux DIY(一)电源、SD卡座、SOC 调试
手焊的话,下次还是不要选小尺寸 QFN 封装的芯片了。原创 2023-08-17 23:05:12 · 1125 阅读 · 0 评论 -
mmap()
一种在用户空间操作寄存器的方法。原创 2022-08-11 21:38:28 · 247 阅读 · 0 评论 -
Pinctrl 子系统简介
一个引脚的所有复用功能,都帮你枚举出来了,你只要挑选使用哪一种就行了,不需要自己拿着数据手册去计算了,如果你不放心,可以和数据手册对照一下。所以 Linux 驱动框架从一定程度上帮助开发人员阅读了一部分数据手册,减轻了开发人员的工作量,提高了编码质量。............原创 2022-08-07 11:37:24 · 341 阅读 · 0 评论 -
bootz 启动 kernel
uboot 将设备树传递给 kernel:通过 r2 寄存器。原创 2022-08-06 16:31:48 · 493 阅读 · 0 评论 -
gcc -O0 -O1 -O2 -O3 -Os 编译优化等级
调试的时候,要使用 -O0,不然你大概率会发现程序并不是按照你预期的顺序执行的。原创 2022-03-22 22:07:38 · 7737 阅读 · 0 评论 -
ELF header 详解
32 位的 ELF header 占 52 个字节,64 位的 ELF header 占 64 个字节。原创 2022-03-22 16:58:59 · 1425 阅读 · 0 评论 -
STM32 使用 Keil5 JTAG 方式下载失败解决办法
速率设低。原创 2022-03-12 00:41:12 · 2578 阅读 · 0 评论 -
JLink v8 固件丢失修复总结
小灯不亮,固件损坏,修复。转载 2022-03-11 23:13:39 · 2339 阅读 · 3 评论 -
ssh 使用 root 账户无法登录
sshd 默认禁止 root 账户登录原创 2021-09-20 02:46:44 · 22866 阅读 · 1 评论 -
hostapd、wpa_supplicant 交叉编译
hostapd,AP 侧进程,可以构建一个独立 AP 或者一个 RADIUS 认证服务器原创 2021-09-17 19:54:44 · 13091 阅读 · 0 评论 -
从零开始构建嵌入式 rootfs
文章目录根目录&&根文件系统什么是根文件系统根文件系统的作用根文件系统包含哪些内容为什么要这样设计文件系统需要那些东西怎样构建文件系统总结参考根目录&&根文件系统根目录:在 Linux 中,所有的目录都属于根目录根文件系统:挂载在根目录下面的文件系统什么是根文件系统根文件系统是 Kernel 启动后第一个加载的文件系统根文件系统的作用Kernel 启动后,总得先挂载一个文件系统,这样其它文件系统才能被挂载和使用。所以,根文件系统,为其它文件系统提供挂载点,是一原创 2020-12-18 10:07:18 · 10488 阅读 · 0 评论 -
软件是如何控制硬件的?
软件是如何控制硬件的?我的答案是,这个问题首先就是错误的,这个世界上本身就没有软件。这个时候好多小伙伴也许开始向我扔鸡蛋了,rz一样,没软件我的电脑怎么运行的,我昨天还写了一个软件控制LED灯实现了跑马灯效果呢。。。你今天告诉我这个世界上不存在软件?脑子有问题吧?大家先别着急,听我慢慢说。我先问大家,软件是什么?小伙伴直接掏出下面一段代码,喏,这就是软件,并且我能通过这段代码将一个LED点亮...原创 2019-11-10 12:23:24 · 32358 阅读 · 17 评论 -
mongo-c-driver 交叉编译
mongo-c-driver依赖openssl和libz所以先交叉编译这两个,我一般习惯于将交叉编译的安装目录设置为$(SRC)_build/install下,因为交叉编译的库,在x86机器是无用的,所以最好不要安装到/usr/local下面。然后交叉编译mongo-c-driver的时候指定openssl和libz库的路径。如果应用程序使用用户名密码连接mongodb时,可能会报错:clu...原创 2019-08-06 18:05:08 · 10404 阅读 · 0 评论 -
远程控制
需求:公司生产的嵌入式设备部署到现场需要拥有远程访问功能。技术依赖:ssh免密登录原理id_rsa 和 ~/.ssh/authorized_keys文件中其中一条公钥能组成密钥对,ssh user@host -i id_rsa这条指令就能成功登录到服务端。解决方案:嵌入式设备中一个活跃的mqtt进程一直连接到公网服务器,想要远程哪个嵌入式设备,就把一个私钥发给嵌入式设备,公钥写入au...原创 2019-08-08 17:26:00 · 9421 阅读 · 0 评论 -
ssh远程端口转发
使用场景:客户端:嵌入式Linux网关 root@IoTP服务器:阿里云服务器 root@VM_0_14_centos服务器登录客户端客户端运行root@IoTP:~# ssh -K 30 -I 180 -y -g -f -N -T -R 211.159.189.50:55407:127.0.0.1:22 root@211.159.189.50Host '211.159.189....原创 2019-04-28 11:36:11 · 10281 阅读 · 0 评论 -
嵌入式设备程序打印输出注意事项
嵌入式设备中常常用一个脚本对应用程序进行守护,例如:#!/bin/shwhile [ 1 ]do ps -l | grep test_app | grep -q -v grep if [ $? -ne 0 ];then test_app > /dev/null & fi sleep 5done这里将应用程序的输出重定向到 /dev/null 中是有必...原创 2019-04-26 11:42:37 · 9539 阅读 · 0 评论 -
arm实现MQTT
1.下载mosquitto源码mosquitto-1.4.142.解压,进入源码目录,vim config.mk对应项改成WITH_TLS:=noWITH_TLS_PSK:=noWITH_SRV:=noWITH_UUID:=no(为了防止openssl对编译的影响,这里使ssl禁止编译,偷懒原创 2019-03-28 00:32:34 · 12765 阅读 · 0 评论 -
arm交叉编译工具使用报错
运行报错:liyongjun@liyongjun-VirtualBox:~$ arm-linux-gnueabihf-gccbash: /home/liyongjun/anosi/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-gcc: 没有那个文件或目录产生这个问题的原因是...原创 2019-03-26 18:19:19 · 9771 阅读 · 0 评论
分享