技术控

最近阅读一些代码中能看到!!,这真是一个巧妙地设定,他可以把非0转为1,0还是0,为什么要这么做,比如说. i = 5; !i = 0; !!i = 1; 这样就可以完全对应真1假0,而不用说真是非0,因为实际逻辑中真是1这个更合理.

发布 0 条评论

复位后第一时间在复位向量. 进入后就会跳转到复位. 进入后并没打开LPAE技术,LPAE和x86的36-bit地址异曲同工,可以支持到最大1TB内存,这里没需要,所以直接过去了,接下来读取CPSR并保存到R0,然后让R0和0x1F进行AND运算,提...

发布 3 条评论

最近也不知道发什么神经,就打算试试最新的Vitis,结果还是很失望,如果工程导入了自制IP,那么他可能会出现一些奇怪的错误. 其中因为一个Makefile错误,就会使得如果自制IP引入,就无法编译通过,我能理解原厂的想法,大概是希望我们能做...

发布 3 条评论

USB设备主要四个描述符,分别是设备描述符(Device Descriptors),配置描述符(Configuration Descriptor),报告描述符(Configuration Descriptor),字符描述符(String Descriptors),相信做过USB开发都很熟悉,并且有各种工具生成描述符. ...

发布 0 条评论

网上有很多说直接把syscalls.c挪过来就可以用,实际测试并不能啊,难不成骗我了,不,重点有一句话漏了. // 重点,否则不会直接打印,甚至出错(因为缓冲区满) setvbuf(stdout, NULL, _IONBF, 0); 如果不设置,printf打印几次后,...

发布 0 条评论

VSC的调试HardFault和普通寄存器没区别,所以挨个看. SCB->HFSR; // HardFault Status Register SCB->CFSR; // Configurable Fault Status Register - 由[UFSR:BFSR:MMFSR]组成 SCB->MMFAR; // MemManage Fault Ad...

发布 0 条评论

不知不觉我有一个硬盘已经用了8年,期间装过无数次VM,各种文件编译任务等等都在这个盘,目前依然非常坚挺,他只是一个普通的盘,那么他参数现在如何. 写入了不到50T,折算每年50/8=6.25T,每天18G,已经算非常重度的使用了,而且常年...

发布 0 条评论

注:自建邮局也就自己玩玩,进垃圾箱那是平平常常的事. 这里用到 https://poste.io/ 这个工具,大大简化了部署,先给系统安装Docker. curl -fsSL https://get.docker.com | bash -s docker 然后找到一个域名,比如我这里用intern...

发布 0 条评论

USB IP设计难度特别大,因此不是每个人都会开发自己的USB IP,因此也会买各种IP,从TinyUSB的支持列表能看到,就STM32而言,都涉及了不同的PHY. https://github.com/hathach/tinyusb/blob/master/docs/reference/supported.rst ...

发布 0 条评论

很久没体验过OpenVZ的机了,而且就算是OpenVZ也不见得多便宜,毕竟IP成本在,但是能月付就另一回事了,月付1刀体验高配OVZ,也能体验下OVZ下软件的使用,OVZ和LXC是两回事哦,很多LXC也是支持各种模块加载等等的,我个人觉得LXC比OVZ强得多呢...

发布 2 条评论