- 博客(11)
- 问答 (1)
- 收藏
- 关注

原创 关于flash地址线的计算方式
一颗flash存储空间大小不一样,地址线位宽也是不一样的。比如:一颗flash存储空间为64Mbit,每个地址内存储1byte(8bit)数据,共8Mbyte空间。地址分为 128 扇区(sector)、每个扇区包含 256 页(page)、每一页包含256 字节(byte), 因此该 Flash 芯片需要用到 23 位地址线扇区地址:128 = 2^7页地址:256 = 2^8字节地址:256 = 2^8所以地址线为:23=7+8+8...
2021-07-26 18:23:19
3552
1
原创 esp-idf 安装报错 :ModuleNotFoundError: No module named ‘runpy‘
2.如果python地址和你的用户环境变量设置路径一致,那就是espressif\python_env\目录下的idf环境有问题,尝试删除掉目录下的环境依赖文件夹,然后重新运行install.sh。解决方法就是环境变量添加python的实际路径可用python目录\Scripts\。(1).python –m pip –V 查看pip功能及位置。多install.sh 几次就好,原因可能是文件下载超时。1.要么地址和你的用户环境变量路径不一致。最终结果:Done!1.问题指向runpy.py。
2024-11-19 18:37:14
642
原创 Visual Studio Code 上使用Git 简易指南
首先点击菜单栏 查看 - 终端,切换到了命令台,下面可以使用git指令了;如果你要从你的服务器上将你的程序clone到本地命令如下:2.1 cd命令切换到具体的本地目录2.2 clone到指定文件夹,命令:git clone http://192.168.1.8/fk189/boot_fk-8f5.git “./”如果你需要切换到程序的某个具体分支命令如下:命令:git checkout b60ea450 (checkout后面一大串为我程序版本的具体串号)程序修改完后如果有提..
2021-09-18 16:40:28
1696
原创 FPGA小技巧 - 缩减运算符
reg[1:0] cnt_baud;always@(posedge outClk0, negedge SysRst0)begin if(!SysRst0)begin cnt_baud <= 2'b0; end else if(&cnt_baud == 1'd1)begin cnt_baud <= 2'd0; end else begin cnt_baud <= cnt_baud + 1'd1;
2021-08-27 13:54:06
786
原创 乐鑫esp32开发环境安装
git安装获取esp-idf步骤:1.从远端克隆库到本地。git clone https://gitee.com/EspressifSystems/esp-idf.git2.切换到克隆的目录。cd ./esp-idf3.切换到你需要的库版本。(我这里是直接使用了commit id,这边方法很多)git checkout c40f2594.运行脚本,安装库。install.bat5.运行脚本,设置环境变量。export.bat6.该命令需要执行,不执行无法编译submodule-upd
2021-08-11 14:46:48
647
转载 FPGA技巧篇 - 左移右移小技巧
//实现循环右移//解释:每一次都是把原来的最低位,往最高位搬移一次。reg [7:0] shifter;always(posedge clk )beginshifter<={shifter[0],shifter[7:1]};end//实现循环左移//每一次都是把原来的最高位,往最低位搬移一次reg [7:0] shifter;always(posedge clk)beginshifter<={shifter[6:0],shifter[7]};end...
2021-07-26 16:57:04
887
原创 最近stm32单片机bug调试总结
复盘:这两天产品发现一个bug,我取了我们当前最新版本的控制卡往上升级固件(还未发布的最新版本),发现升级失败,多次尝试后依然不行,我意识到问题大了,发布的最新固件版本先撤回,赶快开始找问题,初步判断flash读写出现问题了,调了两天,剥洋葱一样排除问题,最终发现在boot和app程序中读写都是正常的,但是app写入的信息到了boot里读出来就是不对,然后底层读写函数初始化那边一看,boot使用的是qpi 32bit读写,app使用的是qspi 24bit读写,问题就出在这里,将app的24bit修改成32
2021-07-22 09:33:51
418
原创 stm32h750在外部晶振损坏的情况下,如何让RTC不影响程序的运行
如果你的RTC损坏了,但是你又不想你的程序因为这个硬件问题导致程序运行异常,不如不开机,卡死。因为使用的是stm32的hal库,可能当前版本的hal库还不够完善,使用debug调试发现程序卡死在两个地方:1.发现程序在rtc异常的时候会卡死在库函数HAL_RTC_Init()里面,最终定位在函数RTC_EnterInitMode()里面,如图:红色框框未为添加的return处理,未添加之前程序在while内死循环(当然会导致程序卡死了)2.函数SystemClock_Config(),如图:对时钟源初
2021-07-13 15:41:31
958
原创 FPGA小技巧-左移右移实现
传入数组R_IN、L_IN,clk到来时,将数值分别左移输出和右移输出(L_Out、R_Out)。reg[15:0] R_In;reg[15:0] L_In;reg R_Out;reg L_Out;always@(posedge clk, negedge rst)beginif(!rst) R_Out <= 0; L_Out <= 0;else if(flag) R_Out <= {1'd1, R_In[15:1]};//右移 L_Out <= {L_In[1
2021-06-15 16:25:53
2615
空空如也
fpga 看图写时序
2021-06-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人