- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 Makefile--自动识别编译环境(x86还是arm)进行编译
在日常工作中,我们会在虚拟机下的x86系统进行架叉编译,有时需要在arm上直接进行编译。但工程都是一样的,只是Makefile不一样,这时就涉及到Makefile的灵活运用了。
2024-07-12 11:07:47
356
原创 arm板运行程序时寻找动态库的路径设置
问题:error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file?②pwd指令获取该库的绝对路径,把路径复制到/etc/ld.so.conf文件。③输入指令ldconfig /etc/ld.so.conf更新共享库。①复制需要用到的arm库到板子上。④再运行你的arm程序,成功了。
2024-02-29 16:26:16
347
原创 01_YUV&RGB简介
存储时: Y0 U0, Y1 V1, Y2 U2, Y3 V3 // 每两个相邻的像素, 一个丢弃V数据,一个丢弃U数据。平面: yuv数据是分成三个地方存放, 一个地方只存Y数据, 一个只存U数据, 一个只存V数据。在原来的基础上左移两位,后面补上两个0,这是实际的10bit数据,前面再补上6个0,是padding位。4:2:2, 意思就是相邻的4个像素里有4个Y, 2个U, 2个V。Y表示亮度, U和V表示色度和饱和度。4:4:4 , 意思就是4个像素里的数据有4个Y, 4个U, 4个V。
2023-09-04 10:59:32
208
原创 11_结构体上传到sql的二进制字段blob
假如你已经晓得数据库连接基础知识,以下代码就是把数据上传到sql数据库的二进制字段中,sql中的字段最好使用longblob类型(可存储的数据大)。
2023-05-22 15:45:19
132
原创 10_python上传数据到sql库数据值都是%s
基于数据库已存在对应的数据表,无论你的数据库字段是int型还是varcaht型都是上传数据参数都是用%s而不是%d。
2023-05-10 16:48:58
263
原创 09_auto-py-to-exe生成exe遇到缺少“pyecharts”模块问题解决
2、选择One Directory,因为假如你选了One File最后只生成一个集成的exe,问题就出在这里,因为这个打包工具有个bug,它无法导入pyecharts模块库,需要后续自己添加,除非你不用pyecharts就可以直接生成exe(单独exe当然爽啦)。④复制pyecharts的模块库到生成的文件下。参考下图,左边是你安装的pyecharts库的原路径(基本都是在/Lib/site-packages/),右边是你生成输出的文件夹(我的是当前工程下的output/main/,exe也在该目录下)。
2023-03-23 16:12:51
467
原创 07_pycharm的同级文件子文件夹函数引用
网上可以搜索到一大堆,可我偏偏碰到了一个奇葩的问题。当然我也是用了其中一个办法,问题是我的文件夹是数字开头(问题就出在这里)。我想要引用的是文件a.py里面的func1函数。
2023-02-24 15:32:34
524
原创 05_ssh-key问题(git拉取仓库出错)
git拉取远程仓库到本地错误1、个人在github上面创建了仓库,通过本地的git拉取远程仓库到本地报错信息如下:这是因为Git使用SSH连接,而SSH第一次连接需要验证GitHub服务器的Key。确认GitHub的Key的指纹信息是否真的来自GitHub的服务器。解决办法。其实就是在本地生成key配置到github服务器。这样子接收过来就gitHub服务器了。2、使用命令: ls -al ~/.ssh3、使用命令: ssh-keygen -t rsa -C “github用户名”,按三次回车
2022-05-07 18:42:59
306
原创 04_nand基本操作
Cache操作在写某个page时,数据从主控传输到对应plane的cache再把整个cache写到介质(flash)中,读刚好相反。而page register起到缓冲的作用,在读多个page时,当cache传输一个page数据时,page register提前把下一个page的数据准备好。*内存的写入时间指的是page register到内存介质的时间,读刚好相反。Multi-plane操作主控先把数据写入第一个plane的cache resgister中,数据保持在那里,并没有立即写入闪存,等
2022-05-06 19:00:35
1278
原创 03_nand 闪存特性
读写原理写:写的单元wordline为高电压,bitline = 0V;由于量子隧道效应,电子从沟道到浮栅,成为‘0’,不写的单元bitline为2V,在沟道里的效应阻碍了量子隧道效应发生。读:不读的wordline = 5V,管子导通;要读的单元wordline = 0V,-Vt的管子导通,bitline端的传感器能检测到,所以读到“1”,而经过写的+VtS管子不导通,传感器读为“0”。坏块(badblock)① 出厂坏块Nand flash出厂时就有的坏块,在保证产量和控制成本,出厂的N
2022-05-06 08:56:13
1745
2
原创 02_nand基础概念
基础概念Vth分布电压阈(yu)值电压,用于判断每个单元(cell)存储的状态数据值。一个单元划分的状态越多,控制进入栅极的电子越精细,写入的时间就越长。例如下图MLC存储单元四种状态就有四种值“11”“10”“01”“00”。Row/Col AddressRow address:行地址 Column Address:列地址行地址表示 LUN, Block, Page的地址。列地址表示的是page内部偏移的地址。一般来说,列是由2个Bytes地址组成,而行是由3个Bytes地址组
2022-04-29 09:26:16
1609
原创 01_nand的物理结构
物理结构Cell存储原理Flash的内部存储是金属-氧化层-半导体-场效晶体管(MOSFET),里面有个悬浮门(Floating Gate),是真正存储数据的单元。该技术有个名称叫浮栅晶体管存储技术。1、擦除(Erase):对悬浮门放电,在底下加正电压,把电子从悬浮门中吸出来,低于阀值Vth,就表示1。2、写入(编程):控制Control Gate去充电(对Control Gate加压),使电子通过绝缘层进入悬浮门,使得悬浮门存储的电荷够多,超过阈值Vth,就表示0。还有另一种存储技术叫Char
2022-04-27 09:23:09
3828
2
原创 04_虚拟机ubuntu与window通信网卡设置
这是桥接的,为了ping通ARM板子。arm <–> window <–> linux虚拟机设置:头顶项目栏点击编辑–>虚拟网络编辑器点击更改设置,再选择桥接方式,选对应的网卡(自己查看Windows网络设置),点击应用–>确定。虚拟机设置完毕。windowsshe设置:打开下图页面,选择正确网卡,右击选择属性属性设置如下图,ip地址设置与linux相同网段就行。例如linuxi的ip是192.168.1.141,就设置为192.168.1.22 。1就
2021-11-23 00:28:40
837
原创 06_utc设置导致宕机问题
跟定时器一样,要等系统跑起来才能设置。utc_update()这个函数每次调用都死机了,因为我在前面初始化调用了,现在放到广播后使用没问题了。因为我每次打印需要时间显示,所以我把utc_update()放到打印函数里面,因此在广播前不能出现我自定义的打印函数。app_task.c:... case (GAPM_PROFILE_TASK_ADD): { // Add the next requested service if (!appm_add_svc()
2021-09-13 09:44:05
280
原创 05_服务关闭(例如diss服务)
步骤1、app_task.c 注释-->appm_msg_handler() ... case (TASK_ID_DISS): { // Call the Device Information Module //msg_pol = appm_get_handler(&app_dis_table_handler, msgid, param, src_id); } break;步骤2
2021-09-13 09:42:19
272
原创 04_UUID128修改与广播名
UUID128 修改:fcc0s.h(54line)--->enum{ ATT_USER_SERVER_FCC0 = ATT_UUID_16(0x0001), ATT_USER_SERVER_CHAR_FCC1 = ATT_UUID_16(0x0002), ATT_USER_SERVER_CHAR_FCC2 = ATT_
2021-09-13 09:37:42
455
原创 03_led设置与外部中断
led设置:gpio_config(GPIOB_1, OUTPUT, PULL_NONE);gpio_set(GPIOB_1, 1);我用的板子上的led没有与P11短接,需要短接才会亮(小白来说有点坑)外部中断:static void bosma_gpio_int_config(uint8_t* gpio_array, uint8_t len){ for(uint8_t i=0; i<len; i++) {// if(gpio_array[i] == B
2021-09-13 09:31:55
279
原创 02_定时器的任务调度创建
arch_main.c -->rw_main() -->rwip_init() rwip.c -->appm_init() app.c -->ke_task_create(TASK_APP, &TASK_DESC_APP) -->TASK_DESC_APP app_t
2021-09-13 09:28:46
408
原创 01_在初始化后 while 1 前调用 ke_timer_set 不起作用
系统刚初始化需要跑一些事件才能初始化完成,所以ke_timer_set放在 GAPM_PROFILE_TASK_ADD 这个事件处理是最好的(第一次使用测试),或者在系统跑起来后在应用代码上设置例如下一节的任务调度。app_task.c–>gapm_cmp_evt_handler(***)...
2021-09-13 09:26:25
327
原创 00_nxp JN5189环境搭载
我已经搭载不下3次了,终于理通了。官方有个链接强调先看一遍,再跟着步骤做,一定要仔细仔细。https://www.wpgdadatong.com/cn/blog/detail?BID=B2502然后里面有一步没有提醒,好像有个文档有说,但是这里没有说明,就是要安装gcc-arm-none-eabi-9-2019-q4-major-win32-sha2.exe编译器。我记得如果没有装这个它会报错GCC~什么的。在装Python的和gcc-的时候步骤选择的环境变量添加最好选上,免得自己后期添加麻烦。添加后
2021-07-25 23:04:07
257
原创 05_BIM&imageA&imageB的hex文件简易合并方法
Notepad++这个软件应该都有吧,直接打开bim、A、B的hex文件,创建一个all.hex的空文件作为合并成果。首先bim与A合并:把bim所有复制到all,把最后一行删掉。再把imageA复制到131行。到此bim&imageA合并完成,因为我们的bim与imageA不需要经常改动,可以这样先保存,方便以后每次修改imageB进行合并。bim&imageA与imageB合并。同样方法,把bim&imageA的合并文件最后一行删掉,再把imageB的全部复制过去,就
2021-06-11 15:04:02
391
1
原创 04_Large_OAD
在开搞前,强烈建议参考甜甜的大香瓜的例程分析,了解LargeOAD的特性。https://blog.csdn.net/feilusia/article/details/52236140在本人遇到的情况就特别了,每个人搞都有不同的见解。BIM:在我看来每一个工程的BIM都是一样的,所以你用哪个BIM工程编译出来的hex文件都能用(前提是你没修改过,直接用)imageA:可以肯定的是官方提供的Large_OAD_Example.zip是一定有问题的,而其它是12 13年的佳作,之后就没有维修了。就因
2021-06-11 14:25:06
112
原创 03_低功耗模式下串口
本人理解,就是使用串口就要退出低功耗,不使用串口了就进入低功耗,就是这么一个做法。网上也有很多的资料。_hal_uart.dma.c文件下的DMA_PM宏定义修改:Option配置//==========================2541有两个串口,可以一个作为外设通信,一个作调试使用。外设通信当然就是用DMA的了,调用例程的串口初始化默认P1_6.7。void Uart_Init(void){ uart1_init_flag = 1; NPI_InitTransport(
2021-06-10 15:17:38
646
原创 02_CC2541_低功耗
首先是低功耗的代码分析:main–>osal_start_system()–>osal_run_system()–>osal_pwrmgr_powerconserve()上面的代码就是轮询代码,只要你设置了宏POWER_SAVING,程序就会进入低功耗。接下来就是我自己控制程序什么时候进入低功耗什么时候退出低功耗(方法很多,这只是本人走过的道):①宏配置Option-->c/c++ compoler-->Preprocessor: INT_HEAP_LEN=3
2021-06-10 14:59:35
370
2
原创 01_初次接触2541非常有用的参考
第一次接触蓝牙设备就是2541,一开始懵的很想知道蓝牙是怎么传送数据?怎么连接的?怎么被连接的?等等。。。。①作为外设的启动和事件轮询,App层初始化,App层事务处理,按键处理:https://blog.csdn.net/xingyu_soft/category_6075891.html②关于TI的CC2541的程序解读:https://wenku.baidu.com/view/2611585d770bf78a652954de.html③CC2540_CC2541做蓝牙BLE中心设备关键步骤:
2021-06-10 10:26:40
147
原创 04_异域加密
调用两次Encry_pack(),数据就会复原。/************************************************************* @brief Information encryption.** @param key Random number** @param data Encrypted data** @param len Data length** @retval None***************************
2021-06-09 14:19:48
228
原创 03_环形buff
把接收到的数据先填到环形buff里面。#define bleRINGBUFF_LEN 128typedef struct{ uint8 Head; uint8 Tail; uint8 Lenght; uint8 bleRing_Buff[bleRINGBUFF_LEN];}bleRingBuff_t;//环形buff结构体//=======================================//写ble环形buffuint8 ble
2021-06-09 14:09:16
182
source insight搜索怎么用
2024-08-02
parsec3.0移植swaptions运行报错
2023-09-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人