硬件入门的一点点心得
硬件入门的一点点心得
没想到有人问我硬件怎么学,稍微说点吧~
从何说起开始动手码字却发现还不知道从哪说起,于是去网上找了找资料:
硬件方向学习导图:硬件方向学习导图
图里的介绍是:
基础:C语言–模电/数电–Altium Designer之类的软件–PCB的设计/制作流程
进阶:单片机–电路
再进阶:布线–FPGA–EMC
上述是我根据图的内容简述的,有兴趣可以稍微打开图看一看,很糊
如何学习硬件设计——理论篇:如何学习硬件设计——理论篇
比上面那个图还笼统,从高等数学,说到集成电路设计,把大学专业课说了一遍,所以硬件相关专业的同学你们学会了嘛?
知乎——如何学习硬件知识?构建完美的硬件知识体系,彻底解决零散知识记不住难题。如何学习硬件知识?构建完美的硬件知识体系,彻底解决零散知识记不住难题。
不亏是知乎,在这些方面还是非常的“善为人师”,图很清晰,有需要就去看看吧,链接都放上了。
我的看法身为一条杂鱼,啥都不精通,参照上面大佬们的思路稍微说一下。
1. 首先,选定好自己的硬件方向!做硬件有很多领域,从电子元器件的设计,再到PCB电路板设计,从基础门电路设计, ...
Archinux入门
Archinux入门安装
ArchLinux由于安装困难, 让Linux初学者望而止步. 本文是一篇
BIOS、UEFI、Boot Loader都是些什么
什么是BIOS
Basic Input Output System(基本输入输出系统)
其实就是一组保存着计算机最重要的基本输入输出的程序、开机后自检程序、系统自启动程序,并固化到计算机内主板上的一个ROM芯片上的程序。
基本的输入输出是什么BIOS的终极目标:
“BIOS的最主要的功能:初始化硬件平台和提供硬件的软件抽象,引导操作系统启动。”
所以:
输入的是:硬件平台的信息
输出的是:硬件的软件抽象
然后将引导文件加载至内存引导操作系统启动
自检程序“检”了什么
每个硬件平台都需要发现IO总线,因为数据的传输离不开总线。
所谓的系统自检,就是Power On Self Test,也就是图中的POST过程。在传统BIOS的上电阶段,通过IO枚举发现总线,进入到标准描述的平台接口部分。
系统自启动了什么
自启动了操作系统呀~毕竟按下电源只是启动了BIOS程序。
此外,在传统BIOS程序中,还不支持文件系统,不像上图的Dell主板,可以手动的添加引导文件,在传统BIOS启动之后,BIOS会自动加载MBR的主引导记录,使操作系统“自行启动”
所以我们再看什么是BIOS?
输入:围绕 ...
Python实现最小生成树--Prim算法和Kruskal算法
Python实现最小生成树–Prim算法和Kruskal算法前言
最小生成树涉及到在互联网中网游设计者和网络收音机所面临的问题:信息传播问题。其中最简单的解法是由广播源维护一个收听者的列表,将每条信息向每个收听者发送一次,即单播解法。而单播解法的问题也很明显:路由器网络中,有一些路由器会发送相同的信息,给互联网络增加负担,产生额外流量。另一种方法是洪水解法,每条消息只发送一次,给所有的路由器,每个路由器再尽可能的发送给相连的主机或路由器。洪水解法如果没有限制的话,许多路由器和主机将不停的接收到重复的消息,所以洪水解法一般会给每条消息设置TTL值,以此对信息传播进行限制。
而通过分析和研究,信息广播问题的最优解法,依赖于路由器关系图上选取具有最小权重的生成树。沿着最小生成树的路径层次传播,达到每个路由器只需要处理1次消息,同时总费用最小。
解决最小生成树问题常用的有Prim算法和Kruskal算法,二者均基于贪心算法。Prim算法思想很简单,即每步都沿着最小权重的边向前搜索,找到一条权重最小的可以安全添加的边,将边添加到树中。Kruskal算法是对所有的权重进行排序,再次体现贪 ...
Ubuntu19.10使用Qemu安装树莓派
Ubuntu19.10使用Qemu安装树莓派
之前一直是在Windows下鼓捣虚拟机,这次试试qemu
安装安装qemu1sudo apt install qemu
安装树莓派在github上找到相应版本的内核和设备树文件。先创建一个项目目录,把镜像文件、设备树文件,和内核文件都放进去然后fdisk -l 2020-02-13-raspbian-buster.img查看硬盘实体使用情况将img2的起点地址乘以单元扇区大小,得到镜像应该挂载的偏移量。sudo mount -v -o offset=272629760 -t ext4 ~/qemu_raspi/2020-02-13-raspbian-buster.img /mnt/raspbian其中的/mnt/raspbian文件夹要提前建好接下来编辑/mnt/raspbian/ld.so.preload文件,将其中的内容注释(行首加“#”注释),然后使用umount卸载已经加载的文件系统
1sudo umount /mnt/raspbian
然后执行模拟树莓派的命令,参考github上的说明:修改相关参数,最终命令如下:
1qe ...
使用树莓派搭建wordpress博客网站
使用树莓派搭建wordpress博客网站下载wordpress下载地址:https://wordpress.org/
安装树莓派详情参考《这篇文章》
环境搭建
由于虚拟机出现了点问题——无法设置共享文件夹——virtualbox中,文件权限修改的时候总会报错“read only file system”,尝试了重新挂载等诸多方法未果,改到Windows下使用VMware,结果安装VMwaretools的选项呈灰色,无法点击,也是没能解决(最近没能解决的事情也太多了……)
但是作业还是要交的,只能暂时放弃修复,选择使用网盘传输(奶牛快传)(可气的是共享粘贴板也没办法正常使用……):
只好手动输入网址:
安装php1sudo apt install php
默认安装的版本是7.3可用php -v查看
安装mysql常规思路也还是不行(疯了,树莓派使我处处碰壁),经过一番查证,应该安装mysql的升级版——mariadb,安装命令:
1sudo apt-get install mariadb-server
默认情况下MariaDB安装好后都没有配置访问用户的密码,因此如果需要远程连 ...
内网穿透软件推荐
[toc]
上一篇介绍了内网穿透的过程,这一篇推荐一下内网穿透的工具(需要看结果的直接滑到最后吧):
花生壳链接:https://hsk.oray.com/
简评
花生壳应该算是业界大佬,平常大家使用的向日葵远程控制软件就是该公司的产品
优点:信誉保障,教程完善,界面美观,有免费套餐两条映射,支持在网站查看远程端口
缺点:免费套餐限流量,需要实名认证,支持架构少
cpolar链接:https://www.cpolar.com/
简评
优点: 有免费套餐,不限流量,不需要手机号注册,支持架构多,使用简单,界面简洁,支持在网站查看远程端口
缺点:网站指引不太明确
natapp链接:http://www.neiwangchuantou.cn/archives/234.html
简评
优点:界面简洁,有免费套餐,不限流量,支持架构多,文档完整
缺点:需要实名认证
网云穿链接:https://www.xiaomy.net/
简评
优点:网站界面清晰明了,有免费套餐
缺点:手机号注册,免费套餐限流量,支持架构不多
行云管家链接:https://www.cloudbil ...
树莓派入门--在Linux下搭建开发环境
树莓派入门–在Linux下搭建开发环境[toc]
环境由于网上绝大多数教程应该都是在Windows在如何烧写系统之类的,而我身为一个Linux用户(已经爱上Linux),就为Linux下的使用增添加瓦吧~(其实是因为我之前白嫖的内网穿透开始莫名其妙不给我用了,可能是嫖太多了emmmm,考虑到白嫖工具的网速之类问题,顺手就自己搭一个内网穿透环境吧(见下篇))
系统:Ubuntu20.10
架构:X64
材料:64G- TF卡一张、读卡器一个、树莓派4B 4G板卡一个
TF卡制作其实和Windows下的区别,无非就是制作系统的步骤不一样、ssh的步骤不一样~(好像也就这两步哈?)
格式化分区Ubuntu生态较为完备,一般可以直接使用磁盘工具进行设置:
如果没有这样的软件,当然用命令行都可以做到呀:
12345678fdisk /dev/sdb #sdb表示你的TF卡g #创建gpt磁盘n #创建分区默认 #起始扇区,考虑分区对齐,所以从2048开始默认 #结束扇区,用于将整个TF卡格式化t #改变分区类型C12A7328-F81F-11D2-BA4 ...
树莓派入门--在Linux下搭建开发环境
树莓派入门–在Linux下搭建开发环境[toc]
由于之前白嫖的cpolar内网穿透突然给我报token错误,我寻思可能是我用的太多,导致封号,所以就用树莓派自己搭一个内网穿透服务器,供日常远程操作用(功耗++++)
环境系统:raspberry pi OS
架构:armv7(64bit)
最后,点个关注不迷路
磁盘格式及其ID信息
磁盘格式及其ID信息GPT
序号
名称
ID
1
EFI System
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
2
MBR partition scheme
024DEE41-33E7-11D3-9D69-0008C781F39F
3
Intel Fast Flash
D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
4
BIOS boot
21686148-6449-6E6F-744E-656564454649
5
Microsoft reserved
E3C9E316-0B5C-4DB8-817D-F92DF00215AE
6
Microsoft basic data
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
7
Microsoft LDM metadata
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
8
Microsoft LDM data
AF9B60A0-1431-4F62-BC68-3311714A69AD
9
W ...