一只流浪小法师
码龄5年
关注
提问 私信
  • 博客:121,310
    121,310
    总访问量
  • 291
    原创
  • 1,478,802
    排名
  • 99
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
  • 加入CSDN时间: 2020-03-23
博客简介:

weixin_46635880的博客

查看详细资料
个人成就
  • 获得222次点赞
  • 内容获得48次评论
  • 获得236次收藏
  • 代码片获得102次分享
创作历程
  • 96篇
    2021年
  • 195篇
    2020年
成就勋章
TA的专栏
  • i.MX6ULL终结者
    290篇
  • 第八部分 Linux系统开发进阶
    13篇
  • 第七部分 Linux系统编程
    22篇
  • 第六部分 QT开发
    12篇
  • 第五部分 Linux构建文件系统
    15篇
  • 第四部分 Linux驱动开发
    103篇
  • 第三部分 Linux系统移植篇
    15篇
  • 第二部分 裸机开发
    91篇
  • 第一部分 总领及学习指引
    19篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

i.MX6ULL终结者Jtag调试查看变量的实时值

IAR的调试模式可以查看变量的实时值,下面我们来演示一下。首先我们修改下hello_world程序,我们在main函数定义一个变量i,然后写一个for循环给变量i赋值,如图 1所示:图 1然后我们点解菜单栏的“Make”快捷图标,开始编译我们修改后的程序,编译完成如图 2所示:图 2从上图可以看到编程成功,然后我们点击“Debug without Downloading”快捷图标,进入调试模式,如图 3所示:图 3然后我们鼠标右键点击变量“i”,在弹出的选项,选择“add to wa
原创
发布博客 2021.03.25 ·
571 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

i.MX6ULL终结者Jtag调试IAR JLNK调试SDK程序

在1.2.2章节我们安装了SDK程序(安装位置:G:
xp),在1.2.3章节我们安装了IAR开发工具,接下来我们打开IAR开发工具,如图 1所示:图 1在本章节我们主要是讲解如何通过IAR+JLINK调试i.MX6ULL的IAR工程,关于IAR工具的具体使用,大家可以网上查找相关的文档。然后我们点击“file->open->workspace”,如图 2所示:图 2然后会打开“Open Workspace”对话框,我们这里以sdk里面的hello_world工程为例,来学习
原创
发布博客 2021.03.24 ·
1064 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

i.MX6ULL终结者Jtag调试搭建开发环境

1 调试需要的硬件环境1、i.MX6ULL终结者开发板一块2、JLNK V9下载器一个3、JLINK V9转换板一个(2.54mm转2.0mm)2 搭建开发环境2.1 安装Jlink V9驱动首先我们需要安装JLNK V9的驱动,驱动程序大家可以去网上下载,为了方便大家使用我们已经下载好,并保存到光盘目录的“i.MX6UL终结者光盘资料\02_开发所需软件\JLINK V9驱动”目录下了(我们使用的版本是V6.34)。下面我们开始安装驱动程序。首先我们鼠标双击“JLink V6.34.exe”
原创
发布博客 2021.03.24 ·
554 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

i.MX6ULL终结者移植ssh服务安装测试

文章目录1 基本文件的安装2 生成 Key 文件,并安装3 修改目标板密钥文件4 测试1 基本文件的安装在文件系统busybox上新建“/usr/libexec“、“/usr/local/etc ”、“/usr/local/bin ”三个目录,使用命令“mkdir -p /usr/libexec /usr/local/etc /usr/local/bin”,如图 1.1所示。图 1.1在虚拟机 Ubuntu 上,将 openssh-6.6p1 下的生成“scp 、sftp、ssh、sshd、
原创
发布博客 2021.03.19 ·
285 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者移植ssh服务详细移植过程

文章目录1 SSH 官网和下载地址2 详细移植过程2.1 移植 Zlib2.2 移植 Openssl2.3 移植 SSH整个移植过程是比较简单的,而且我们没有做任何协议方面的了解,只是“配置”+“编译”就完成了整个工作,现在大家应该对移植开源软件有了基本的了解。本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux系统开发进阶\75_章节_移植ssh服务使用资料。入门视频教程中,给 Windows 系统安装了 ssh 客户端,给 Ubuntu 安装了 ssh 服务器,这样就可以通过ssh
原创
发布博客 2021.03.19 ·
302 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

i.MX6ULL终结者移植Gdb+Gdbserver调试

因为有很多小伙伴是从单片机转过来的,用惯了单片机使用JLINk来调试程序,换到Linux非常不习惯。确实是如此,如果能在Linux上能设置断点,单步调试,查看变量,那就再好不过了。那么接下来将教大家怎么在arm板上调试应用代码的方法。首先,了解下基本的思路:采用这种方式进行远程调试,目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。一般Linux发行版中都有一个可以运行的gdb,但我们不能直接使用该发行版中的gdb来做远程调试,而要获取gdb的源代码包,针对arm平台做一个简单的配置
原创
发布博客 2021.03.18 ·
564 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

i.MX6ULL终结者内核-Logo 修改使用文档Logo 位置的居中调整

假如用户想使用的 LOGO 图片小于屏幕分辨率,则可以先按照前面的方法将 LOGO 图片编译到内核,然后烧写到开发板中,可以看到 LOGO 图片小于在左上角出现,这种情况需要调整 LOGO 的位置。接下来简单介绍一下如何修改 LOGO 的位置。首先我们使用的图片是内核默认自带的 ppm 文件,“logo_linux_clut224.ppm”,也就是小企鹅图片,它的分辨率非常小,我们介绍如何修改源码将其移动到屏幕正中间。在内核源码“drivers/video/fbdev/core/fbmem.c”中的
原创
发布博客 2021.03.16 ·
183 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者内核-Logo 修改使用文档测试

将 iMX6UL 内核源码“drivers/video/logo/”目录下的“logo_linux_clut224.o”和“logo_linux_clut224.c”文件删除。然后将前面生成的对应屏幕分辨率的 ppm 文件文件拷贝到“drivers/video/logo/”目录下,例如 1.0.1 寸屏幕,可以拷贝“logo_linux_clut224_1024x768.ppm”,然后将其名称修改为“logo_linux_clut224.ppm”。金属框 7 寸和 10.1 寸可以拷贝“logo_linu
原创
发布博客 2021.03.16 ·
163 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者内核-Logo 修改使用文档生成 PPM 文件

文章目录1 使用 PS 软件修改图片分辨率和位深度2 使用工具“Bmptopnm”将图片转化为 ppm 格式3 修改内核 Logo 文件本节简单介绍如何使用 PS 软件修改分辨率和位深度,将图片保存为 BMP 格式,然后使用工具“bmptopnm”将 bmp 格式的图片转化为 PPM 格式。最后只需要将 PPM 放到“drivers/video/logo/”目录下,重新编译内核,即可完成 LOGO 的修改。1 使用 PS 软件修改图片分辨率和位深度将分辨率修改为和屏幕分辨率一致,可以不用调整 LOG
原创
发布博客 2021.03.15 ·
685 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者内核-Logo 修改使用文档内核配置

iMX6UL 的内核自带 LOGO 驱动,默认是没有配置的。进入内核源码目录,先将需要配置的缺省文件覆盖.config 文件,然后使用“export ARCH=arm”设置环境变量。图 1然后使用“make menuconfig”命令开启配置界面,如图 2所示。图 2选择“Device Drivers —>”,如图 3所示。图 3选择“Graphics support —>”,并进入,如图 4所示。图 4接着选上“Bootup logo —>”,并进入,如图
原创
发布博客 2021.03.15 ·
345 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

i.MX6ULL终结者Uboot-Logo修改文档

文章目录1 Uboot修改2 Uboot测试本章节介绍的是在uboot下logo显示和修改步骤。本章节使用的资料已经放到了开发板网盘资料中,路径为“11_Linux系统开发进阶\72_章节_Uboot-Logo修改文档使用资料”。1 Uboot修改首先我们在home目录下新建一个文件夹imx6ull,然后打开i.MX6ULL终结者光盘资料\05_uboot linux源码,在window下解压下图箭头所指的压缩包,解压后分别得到linux-imx-rel_imx_4.1.15_2.1.0_ga_202
原创
发布博客 2021.03.13 ·
459 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

i.MX6ULL终结者修改开机进度条修改文档

本章节介绍的是iTOP-iMX6ULL-修改开机进度条的显示和修改步骤,使用的资料已经放到了开发板网盘资料中路径为“11_Linux系统开发进阶\71_章节_修改开机进度条修改文档使用资料”。1.以下所有操作都在root下执行。下载psplash源码,可以看到是yocto开源的其中一个项目。USER# git clone git://git.yoctoproject.org/psplash 如果终端提示: 图 1那就先输入:apt install git 图 2现在最新版的psplash
原创
发布博客 2021.03.13 ·
478 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者Mfgtools修改单独只烧写Uboot,内核,文件系统

1.打开mfgtools_for_6ULL文件夹,找到cfg.ini文件,如果您的板子是EMMC的修改如图 1:图 1如果您的板子是NAND的,修改如图 2:图 22.打开“Profiles\Linux\OS Firmware\ucl2.xml文件,修改此文件如果您想mfgtools只烧写uboot,就把下图的代码注释掉,其余的不要动图 3是修改NAND的板子图 4是修改EMMC的板子图 3图 4图 5是修改NAND的板子,如果您想mfgtools只烧写内核,就把下面
原创
发布博客 2021.03.09 ·
873 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

i.MX6ULL终结者线程同步条件变量

条件变量可以说是互斥锁的补充,但不同的是条件变量是用来等待而不是上锁的,当收到条件变量时线程被唤醒,执行到等待函数(pthread_cond_wait)时又阻塞等待条件变量成立。与信号量不同的是,信号量类似于计数器,需要在程序中进行加一减一操作,条件变量有自动置位功能(通过下面实验能体会到);而且条件变量能用一个信号唤醒多个线程。条件变量使用步骤:1.分配条件变量,静态分配将PTHREAD_COND_INITIALIZER赋值给条件变量,动态分配使用pthread_cond_init;2.通知或等待条
原创
发布博客 2021.03.08 ·
111 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

i.MX6ULL终结者线程同步互斥锁

互斥锁的作用是锁住共享资源,线程在操作共享资源时,保证这个资源不被其他线程改变,锁住的是数据而不是线程。互斥锁保护临界区的方式是只让一个线程持有锁,没有拿到这个锁的线程将会阻塞,即保证临界区的互斥,对共享资源的操作具有原子性。使用互斥机制要避免死锁,死锁产生的情况是:1线程拿着A锁,然后阻塞住想获取B锁,2线程拿着B锁,阻塞想获取A锁,这样两个线程都会阻塞住,等待拿不到的锁,就这样造成死锁,程序不能往下执行。使用互斥锁的步骤:1.在全局区定义互斥锁,静态分配是将PTHREAD_MUTEX_INITI
原创
发布博客 2021.03.06 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者线程同步POSIX无名信号量

为保证每个线程对同一资源访问有效,比如一个线程想要从共享资源读数据,而这些资源正在被其他线程修改,那么读出来的数据是无效的,那么就要想办法让其他线程修改完再去读,这时候就用到了同步机制。可以使用Linux系统提供的机制来对线程访问资源的顺序进行同步,本文档挑选了信号量,互斥锁,条件变量来介绍线程同步机制,实验代码在sync/目录下。1 POSIX无名信号量本章介绍POSIX 无名信号量,以下简称信号量。信号量类似于计数器,操作方法和前面的System V 信号灯基本一样。使用信号量的步骤:1.在程序
原创
发布博客 2021.03.05 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者线程基础线程终止与回收

线程终止:1.start_routine回调函数执行return;2.线程自身调用pthread_exit();3.其他线程调用pthread_cancel(ID)将此进程终止;任意线程调用exit()使整个进程退出。线程回收:线程默认joinable状态,终止后需使用pthread_join回收资源;将子线程使用pthread_detach从主线程分离后处于unjoinable状态,系统等线程退出后自动回收资源。常用的 函数调用如下:pthread_exit():结束本线程#include
原创
发布博客 2021.03.05 ·
135 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

i.MX6ULL终结者线程基础 线程创建

线程是系统调度的基本单位,一个进程中在创建时默认只有一个线程,一个进程可以创建多个线程,这几个线程可以同时执行。多线程比多进程更容易传输数据,由于线程之间能够共享进程里的资源,所以并发线程同时操作进程资源会产出竞争的情况,需要对多线程进行同步操作。如串口需要同时同时收发,应用层可能会因为I/O阻塞阻止程序进行下一步,使用多线程读写可解决问题,即一个线程读,一个线程写,互不影响;在网络编程中可处理多个客户端同时连接和请求。Linux线程和windows中的线程不一样,Linux中的线程是轻量级的进程,但是
原创
发布博客 2021.03.04 ·
184 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

i.MX6ULL终结者进程间通信 UNIX域套接字

UNIX域套接字用于进程通信,用法和网络套接字相同,不同的是UNIX域套接字只能在一台机器上的进程之间传输数据,网络套接字可在一台或不同机器之间实现通信。在Ubuntu终端输入“netstat -lx”,可显示所有UNIX套接字连接和监听端口, 图 1然后输入命令查看udev使用的套接字“ls -l /run/udev/control”, 图 2文件类型为“s”,表示套接字文件,因为udev是Linux应用层的一个小工具,用来自动识别挂载一些设备,比如U盘等,在开发板的最小系统中没有这个工具
原创
发布博客 2021.03.04 ·
143 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

i.MX6ULL终结者进程间通信System V信号灯

信号灯也叫信号量,它能够用来同步进程的动作,不能传输数据。它的应用场景就像红绿灯,控制各进程使用共享资源的顺序。Posix无名信号灯用于线程同步, Posix有名信号灯,System V 信号灯。本章讨论用于进程同步的System V信号灯。信号灯相当于一个值大于或等于0计数器,信号灯值大于0,进程就可以申请资源,信号灯值-1,如果信号灯值为0,一个进程还想对它进行-1,那么这个进程就会阻塞,直到信号灯值大于1。使用System V信号灯的步骤如下:1.使用semget()创建或打开一个信号灯集。2
原创
发布博客 2021.03.03 ·
124 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏
加载更多