QNX资料
基本命令:
pidin syspage=asinfo
slog2info
pidin
mount -uw /
io 32 0x50000000 读写寄存器
chksum
QNX中关闭某个进程
分两步:
1、输入:pidin -->查看正在运行的进程;
2、slay 进程名----->此处是进程名,不是进程号
或者使用 kill -15 进程号
#include <sys/neutrino.h> #include <inttypes.h> #include <sys/syspage.h> int main(void) { uint64_t cps, cycle1, cycle2, ncycles; double sec; int ret = 0; ThreadCtl(_NTO_TCTL_RUNMASK, 0); /* snap the time */ cycle1 = ClockCycles(); /* do something */ // printf("Hello!\n"); ret = nanospin_ns(1000 * 10); if (ret < 0) { printf("error\n"); } /* snap the time again */ cycle2 = ClockCycles(); ncycles = cycle2 - cycle1; printf("%lld cycles elapsed.\n", ncycles); /* find out how many cycles per second */ cps = SYSPAGE_ENTRY(qtime)->cycles_per_sec; printf("This system has %lld cycles/sec.\n", cps); sec = (double)ncycles / cps; printf("The cycles in seconds is %f.\n", sec); return EXIT_SUCCESS; }
QNX usb调试方法_模拟网卡
系统启动后默认将usb2接口模拟为网卡,配置ip为192.168.10.100 (具体查看脚本 /boot/sbin/start_usb2_rndis.sh)。
成功后,会在windows下产生一个rndis的网卡
1、第一步:配置网卡ip 鼠标右键->属性->internet 协议版本4(tcp/ipv4)->配置ip为同网段的192.168.10.90
2、验证是否通信
ping 192.168.10.100
3、Ssh连接:通过ssh 连接设备(任意连接工具如mobaxterm)
Ssh 以root用户连接192.168.10.100 密码root
如果连接不成功,查看设备中的sshd是否开启。
或者直接手动执行SOCK=/rndis /boot/sbin/sshd
连接成功后,就可以直接进入设备shell进行调试了。
4、文件拷贝:如上第二步能ping通后,就可以通过scp或者设备文件夹挂载为可读可写进行文件拷贝。如下命令将根目录变为可读可写
mount -oremount,rw /
5、虚拟机和板子通信
虚拟机创建桥接网卡,和ndis网卡桥接。并且配置网卡ip为同网段192.168.10.80(ubuntu 17及以上在/etc/netplan下面修改配置,具体配置自行google)。
6、gdb调试
7、环境问题调试:
如果出现能ping通,但是ssh连接不上的问题。先确认下SOCK=/rndis /boot/sbin/sshd 是否有执行。如果没有其他方法,就直接kill掉对应的rndis进程。然后重新配置一次网卡(执行这个脚本/boot/sbin/start_usb2_rndis.sh)
https://www.qnx.com/developers/docs/7.1/index.html
#include <pthread.h> int pthread_attr_setstacksize( pthread_attr_t * attr, size_t stacksize );