QNX
modi000
生命不止,奋斗不息!
展开
-
QNX系统的IDE拷贝文件
通过target链接到装置后,可以将桌面上的文件---直接拖动要拷贝的文件到相应目录下。target中默认的连接端口号是8000.如题,QNX的IDE是可以直接拷贝文件的,其实,还有个10000的端口号也能用。原创 2022-11-17 11:07:35 · 877 阅读 · 0 评论 -
QNX系统和凝思系统分别系统时间设置RTC时间方法
system("rtc -s hw");凝思系统是通过如下命令达到相同效果。system("hwclock --systohc");我们知道,rtc时间是硬件时间,需要电池单独供电。(无法连接互联网。)比如,硬件设备,一上电后,系统时间会通过RTC获取。当然,rtc时间和系统时间需要通过GPS B码经常校准。我们平常的电脑,因为会连接互联网,时间是通过互联网对时的。...原创 2022-07-11 16:51:37 · 3727 阅读 · 0 评论 -
QNX显示界面
点击上图中的按钮,可以显示界面。 当界面中的表格列显示不完整时,可以通过拖动框中的黑点来看,滚动条无法拖动。。。原创 2022-06-28 16:11:21 · 489 阅读 · 0 评论 -
readcond()函数帮助文档
来源QNX帮助文档。 MIN:参数是最小到达的字节数;TIME:字节流暂停TIMEOUT:时间The (M, 0, t) case is useful for communications protocols that cannot afford to block forever waiting for data that may never arrive.例如: readcond(fd ,buf,n,1,0,1); //读到至少一个字节或者阻塞1秒钟。ps:这个跟select函数的功能很像。原创 2022-06-22 11:02:02 · 178 阅读 · 0 评论 -
QNX修改程序最终生成的名字
如上图所示,在target base name处填写进程名如果不写的话,默认的是工程文件名。原创 2022-05-06 09:47:24 · 254 阅读 · 0 评论 -
装置更新程序后,网络不通
遇到如题问题,原因,更新程序后,配置文件发生了修改,导致其中存储的ip地址发生变化。解决方案:通过串口登录装置,ifconfig查看ip地址,发现ip地址的确被修改;通过液晶修改为原先的ip地址。...原创 2022-03-21 10:05:47 · 233 阅读 · 0 评论 -
QNX工程中包含另一工程是的头文件
多个工程都需要包含相同的头文件,所以我们采用包含头文件路径名的方式,这样只需要维护一套头文件即可。右键 工程名,属性 ---compiler原创 2022-03-16 10:58:26 · 232 阅读 · 0 评论 -
QNX系统界面截图
QNX系统中,需要界面截图,可以直接按键盘的PrtScSysRq键,保存为.png格式的图片,测试发现其他格式的图片都直接花掉了。当需要截带子菜单的图片时,我们需要先设置截图延时,例如下图所示,wait for 5s,此时再点开子菜单,就能正常截图了。...原创 2022-01-19 16:35:27 · 1128 阅读 · 0 评论 -
QNX系统挂载CF卡
打开QNX虚拟机 将卡插入卡槽连接电脑USB 重新挂在USB设备:原创 2021-06-04 15:58:48 · 551 阅读 · 0 评论 -
QNX中查看某个进程是否存在
pidin | grep 进程名QNX中也可以使用linux系统中grep命令来筛选。原创 2021-06-01 16:05:58 · 1985 阅读 · 0 评论 -
QNX或linux系统中存在守护进程时替换程序方法
将原程序备份:cp test test.old 将新程序拷贝到当前目录 使用pidin查看当前进程id 杀死当前进程:slay test (QNX环境用此命令) ----- kill -9 进程ID (linux环境下用此命令) pidin 查看当前进程ID,发现与步骤3中的进程ID不同,说明,进程已经重启。...原创 2021-05-06 16:53:14 · 612 阅读 · 0 评论 -
通过xmanager的ftp命令拷贝文件到QNX服务器失败
1、问题:我们想将文件 myfile 拷贝到 服务器上,但是xmanager 的ftp只能使用普通用户登录,而不能使用root用户登录;服务器,我们是登录的root用户;此时无法拷贝myfile文件。2、解决方法:1)在服务器中 使用mkdir myfile 命令先创建myfile文件,此时该文件夹所属用户为root,所属组为root;2)chown -R ftp登录的用户名 myfile ,修改myfile的用户为ftp登录的用户3)此时就可以使用xmanager 的...原创 2021-03-31 16:43:00 · 572 阅读 · 0 评论 -
QNX----知识 频道(Channel)与连接(Connect)
QNX频道的概念 :频道(Channel)与连接(Connect)消息传递是基于服务器与客户端的模式来进行的,那么客户端怎样才能与服务器端通讯呢?最简单的,当然是指定对方的进程号。要发送的一方,将消息加一个头,告诉内核“把这个消息发给pid 12345”就行了。其实这也是QNX4时候的做法。但QNX6开始完整支持POSIX线程后,这种方法似乎就不太适合了。如果服务器,有两个线程,分别进行不同的服务,那该怎么办呢?或者你会说“把这个消息发给pid 12345 tid 3”就行了。可是,如果某一个服务..转载 2021-03-19 15:44:38 · 970 阅读 · 0 评论 -
STM32】 DMA原理,步骤超细详解,一文看懂DMA
如需转载请注明地址:https://blog.csdn.net/as480133937/article/details/104927922 DMA的基本介绍 什么是DMA (DMA的基本定义) DMA,全称Direct Memory Access,即直接存储器访问。 DM...转载 2021-03-19 14:50:53 · 5729 阅读 · 2 评论 -
通过mmap_device_memory将硬件地址映射程序中及通过memcpy将程序变量值赋给硬件地址
#define MAP_FAILED ((void *)-1) -----系统自带#define REG_ADDR 0x80003000 ---人为定义的1、将硬件地址映射到程序中 void* ptr = mmap_device_memory( 0, 0x1000, PROT_READ|PROT_WRITE|PROT_NOCACHE, 0, REG_ADDR ); if(ptr == MAP_FAILED) { print...原创 2021-02-22 09:27:25 · 1010 阅读 · 0 评论 -
QNX操作系统信息传递-qnx任务之间的消息传递信息传递
转载:https://blog.csdn.net/xjhhjx/article/details/77139457一、QNX消息概述QNX消息可以分为同步消息和异步消息。异步(脉冲)消息主要体现的是一种通知机制,同步消息主要是说消息在传递过程需要双方相互配合的过程。二、QNX消息传递几个基本概念1、频道与链接消息传递是基于服务器与客户端的模式来进行的,QNX6抽象出了”频道“(Channel)这个概念。一个频道,就是一个服务的入口;至于这个频道到底具体有多少线程为其服务,那都是服务器端自己的事情。转载 2021-02-20 10:00:00 · 1227 阅读 · 0 评论 -
程序通过QNX IDE直接拷贝到装置中
通过该文,我们知道QNX编译的程序可以直接拖动到 target file system Navigator中;其实,任意程序,及时在桌面上的程序都可以通过target file system Navigator拷贝或者直接拖动,从而拷贝到装置中。...原创 2021-01-19 09:45:34 · 292 阅读 · 0 评论 -
QNX程序中printf内容需要通过手动起进程打印出来
1、问题:当装置上电,通过守护程序来启动的进程,进程中printf的内容无法打印出来。2、解决方法:此时需要将进程名更改(防止守护进程启动该进程),通过 ./进程名 命令来启动进程,这样printf中的内容就可以打印出来了。...原创 2021-01-13 09:43:48 · 514 阅读 · 0 评论 -
QNX中 mmap_device_io()的使用
来源于QNX IDE参考该文QNX中 mmap_device_memory()的使用mmap_device_io()Gain access to a device's registers//访问设备的寄存器Synopsis:#include <stdint.h>#include <sys/mman.h>uintptr_t mmap_device_io( size_t len, uint64_t io );原创 2021-01-06 13:36:26 · 894 阅读 · 1 评论 -
QNX中 mmap_device_memory()的使用
来源于QNX IDE实质就是将物理内存physical映射到程序中,我们通过指针来取这个物理地址的内容;这样做的好处是:大家可以共用这个物理地址的内容。1、mmap_device_memory()函数Map a device's physical memory into a process's address space实质:将物理内存映射到程序中指针#include <sys/mman.h>void * mmap_device_memory( void * add原创 2021-01-06 11:23:18 · 1673 阅读 · 0 评论 -
ftp增加root登录权限
使用ftp登录QNX系统时,默认的使用root用户登录不上,只能使用普通用户登录,此时需要修改权限方法一:通过QNX IDE 中双击 /etc/ftpusers在 root deny 前添加# 注释掉该行,则root有了ftp权限了。方法二:1)cd /etc2)viftpusers...原创 2020-12-29 10:52:25 · 2239 阅读 · 0 评论 -
通过xmanager更改程序可执行权限
QNX中,通过ftp拷贝到装置中的程序,是没有可执行权限,可以通过 chmod 777 程序名 来添加可执行权限还有另一种方法:在通过ftp拷贝后,直接在ftp中,右键程序---->更改权限原创 2020-12-29 09:19:59 · 243 阅读 · 0 评论 -
修改整个目录中的内容为可执行
chmod -R 777 /test通过FTP拷贝过来的内容,没有可执行权限,所以,需要添加可执行权限原创 2020-12-23 10:16:21 · 170 阅读 · 0 评论 -
QNX总结-QNX之编写资源管理器1
转载:https://blog.csdn.net/xjhhjx/article/details/92066887The Bones of a Resource Manager这篇文章将从服务器端和客户端两侧来描述大体的框架和分层,并会给出实例。1. Under the covers1.1 Under the client's covers当一个客户端调用需要路径名解析的函数时(比如open()/rename()/stat()/unlink()),它会同时向进程管理器和对应的资源管理器发送转载 2020-12-21 23:02:33 · 1111 阅读 · 0 评论 -
QNX中使用name_attach()和name_open()函数来实现两个线程间的通信
#define A_TO_B 1void *Data_handle_thread(void*arg){//设置线程优先级 setprio(0,20);//服务器端线程rcvid = MsgReceive(m_datahandle_attach->chid, &smsg, sizeof(SEND_MSG ), NULL );if (rcvid==0)//=0表示收到pulse,>0表示收到message{ item = smsg.hdr.code;...原创 2020-12-21 21:59:45 · 1395 阅读 · 0 评论 -
QNX编译器调试程序
1、将电脑与装置连接2、将装置中的 QNX编译、下载的可执行程序kill掉因为,调试过程中,调试程序会在装置中运行,同时系统会随机给程序另行命名。3、配置QNX的调试环境选择C/C++ Application的时候,当装置是arm架构,就选arm_g,当装置是x86架构,就选x86_g比如,我们在电脑上运行的虚拟机就是x86架构。4、程序中设置断点在行号左边右键,设置断点5、按下开始调试6、单步执行ps:没有硬件装置的话,可以连接Q...原创 2020-10-12 23:45:13 · 1656 阅读 · 0 评论 -
QNX中模糊查找内容方法
想在QNX中查找某个变量,但是只记着变量的一部分,模糊查找方法:1、在程序中,任意位置写上 该变量的一部分,例如.dat2、选中所写内容3、右键-->search->Project原创 2020-09-21 21:43:47 · 540 阅读 · 0 评论 -
QNX中mmap_device_io() 和 mmap_device_memory()函数
来源于QNX IDE1、mmap_device_io()1)函数定义#include <stdint.h>#include <sys/mman.h>uintptr_t mmap_device_io( size_t len, uint64_t io );lenThe number of bytes of device I/O memory that you want to access. It can'..原创 2020-08-13 11:05:39 · 1501 阅读 · 0 评论 -
QNX中in32和out32函数
内容来源于QNX IDE1、in32()#include <hw/inout.h>uint32_t in32( uintptr_t port );-----------------The in32() function reads a 32-bit value from the specified port.注意:The calling thread must have I/O privileges; see ThreadCtl()'s _NTO_TCTL_IO co.原创 2020-08-13 10:51:13 · 1854 阅读 · 0 评论 -
qnx之中断控制
qnx之中断控制 学习目的: 1.qnx微内核怎样操作硬件中断? 2.我们怎样用代码操作中断? 3.不同的中断操作策略学习概要 1.中断的概念 2....转载 2020-08-12 15:21:20 · 1726 阅读 · 0 评论 -
QNX驱动开发——中断处理
转载:https://blog.csdn.net/DanielLee_ustb/article/details/7841894在操作系统中,对于中断的处理一直是一件麻烦事,其实主要是对操作系统的中断管理机制不熟悉。当中断产生时,内核去执行中断服务程序ISR,中断服务程序中要做尽量少的工作,以提高系统执行效率,有些人在中断服务程序中使用延时函数和printf函数和malloc函数,其实是很不可取的。延时函数不仅大大降低了中断执行的效率,也可能会屏蔽下次中断的产生,从而丢失对中断的响应。对于printf函.转载 2020-08-12 14:42:52 · 1135 阅读 · 0 评论 -
QNX中name_attach 和nameopen的应用
1、服务器端:1)name_attach():是在服务器端使用,在名称空间中定义一个name,同时创建了一个channel.name_attach_t * name_attach( dispatch_t * dpp, const char * path, //对应name unsigned flags );typedef struct _name_attach { d原创 2020-08-12 09:10:54 · 2223 阅读 · 1 评论 -
qnx之resource manager(三)
qnx之resource manager(三) device-specific and per-open data 学习目的 1.举例引入概念 2.代码编...转载 2020-08-10 19:37:45 · 817 阅读 · 0 评论 -
qnx之resource manager(二)
qnx之resource manager(二)学习目的:编写一个简单的resource manager编写connect函数 (io_open())编写...转载 2020-08-09 22:56:06 · 1018 阅读 · 0 评论 -
qnx之resource manager(一)
qnx之resource manager(一) 学习目的:怎样使用qnx的resource manager framework包括:初始化,读写操作,跟踪...转载 2020-08-09 22:53:37 · 910 阅读 · 0 评论 -
从API开始理解QNX -- 消息传递
转载:https://blog.csdn.net/zjy900507/article/details/78189797大家都知道QNX是个微内核结构的操作系统,靠的是进程间通讯来实现整个系统功能的。那么具体到写一个程序的时候,到底这个通讯是如何完成的呢?这章就是具体介绐最底层的消息传递API的。消息传递是通过内核进行的,所以所谓的API,实际也就是最底层的内核调用了。需要指出的是,真正在QNX上写程序的时候,很少会直接用到这些API,而是利用更高层的API,不过,知道这些底层的API对于将来理解建立在这转载 2020-08-07 10:30:52 · 542 阅读 · 0 评论 -
编译器中,光标变宽,输入字符会替换掉原字符
遇到情形:编译器中,光标变宽,输入字符会替换掉原字符如上图所示,在Qt或者QNX中遇到这种情形,光标变宽,输入b会替换后面的字符a原因: 不小心按了insert键再按下insert键就好了。原创 2020-07-30 11:10:21 · 1244 阅读 · 0 评论 -
QNX中vi命令不好用时,使用其他方法
情形:使用vi命令打开嵌入式装置中的文件,出现乱码或者其他情形解决方法:我们可以使用QNX IDE 中的target Navigator 直接双击打开目标文件,此时可以类似文本文件展现,直接修改,保存即可。...原创 2020-07-28 23:52:58 · 1458 阅读 · 1 评论 -
QNX中使用target file system navigator 或者 ftp拷贝lib文件失败
参考https://blog.csdn.net/modi000/article/details/107649049这篇文章,在linux系统,root用户使用ftp操作root用户默认是无法使用ftp服务的。如果需要开启root用户的ftp权限要修改以下两个文件#vi /etc/vsftpd.ftpusers中注释掉root#vi /etc/vsftpd.user_list中也注释掉root与linux类似,QNX中是/etc/ftpusers在root deny 行首添加# ...原创 2020-07-28 23:49:46 · 348 阅读 · 0 评论 -
QNX编译器中Target Navigator中的目标机看不到目录
碰到了情况:Navigator中的目标机看不到目录(/tep,/bin等目录都看不到了)这导致想将可执行文件直接拖动至目录中,不知道是否成功。解决方法:在target navigator窗口右边有类似如下图的下三角形,点开即可设置目录显示。...原创 2020-07-28 22:54:37 · 305 阅读 · 0 评论