前段时间因工作原因需要用U盘制作一个DOS启动盘,看似很简单的事情,但反复尝试均不能成功引导电脑开机。这个问题困扰了我很久,每次需要用启动盘的时候都得借同事的,很不方便。后来终于找到了原因。
原因一:
制作启动盘的工具上有个“快速格式化”的选项。我过去安装系统的时候,只要能用快速格式化的地方都不用正常的格式化,所以这个选项我也随手把它勾上了。问题就出在这里。可能我的U盘之前有一些其他问题,必须正常格式化一次才行。我每次为了节省时间都选择快速格式化,导致做出来的启动盘始终不能启动,反而浪费了时间。
原因二:
很多电脑的BIOS设置都是只认UEFI启动的,而DOS启动盘显然没有UEFI,也就无法启动电脑。这种情况需要进入电脑的BIOS设置,在Startup标签下,将UEFI/Legacy Boot选项改为Legacy Only或者Both. 如果电脑支持并打开了Security Boot的话,还要到Security中将Security先关掉才能改这项设置。
2018年8月30日星期四
2018年8月29日星期三
2018年8月24日星期五
STM32 GPIO PB3、PB4不可用
在STM32单片机上开发了一个应用,结果发现GPIO PB3和PB4两个管脚不听我的控制。软件检查了很多遍也没有发现问题,负责这个项目硬件的同事检查了硬件设计也没有发现问题。就在我俩一筹莫展之际,旁边一位同事说出了原因。
原来,PB3和PB4这两个管脚默认为JTAG管脚。如果应用不使用JTAG(比如我们这个项目仅使用SWJ调试和下载),可以将其重映射为普通GPIO,相应的代码是
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
如果连SWJ也不用,还可以把PA13、PA14、PA15三个管脚也释放出来,相应的代码是
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
此外,调用这两个语句不要忘记把AFIO的时钟也打开,相应的代码是
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
这虽然是我第一次在STM32上进行开发,但之前也完整看过一本教材才开始动手的。这么重要的功能那本书竟然提都没有提。如果不是旁边那位经验丰富的同事“多嘴”,我和硬件工程师还不知道要被这个问题困扰多久。
原来,PB3和PB4这两个管脚默认为JTAG管脚。如果应用不使用JTAG(比如我们这个项目仅使用SWJ调试和下载),可以将其重映射为普通GPIO,相应的代码是
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
如果连SWJ也不用,还可以把PA13、PA14、PA15三个管脚也释放出来,相应的代码是
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
此外,调用这两个语句不要忘记把AFIO的时钟也打开,相应的代码是
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
这虽然是我第一次在STM32上进行开发,但之前也完整看过一本教材才开始动手的。这么重要的功能那本书竟然提都没有提。如果不是旁边那位经验丰富的同事“多嘴”,我和硬件工程师还不知道要被这个问题困扰多久。
2018年8月21日星期二
2017年12月31日唐山所见(3)
我小的时候,这里是开平区镇政府,现在是开平区国税局所在地。
我小的时候,这里是开平区西关,算是开平镇比较繁华的地方,百货商场、照相馆、银行、裁缝店都在这里。现在说不上冷清,但也繁华不再。
从开平西关到开平四街的这条路还没变。路南侧(图中右侧)的房子,我小时候就有。小时候这一带还有个扎针灸的,我爷爷在世的时候有段时间耳朵聋了来这里扎针灸。路北侧以前是个黄土坑(即挖完黄土后留下的坑),每年夏天我老姑每天都会拿着一个塑料桶来这里给我爷打散啤酒。然后我爷也给我喝一点,从那时起,我就开始练习喝酒。那时觉得啤酒苦苦的并不好喝,但现在我也不知道为什么每天都要喝。
开平医院。我小时候仅有的几个能看病的医院之一,我爷爷就是从这里走的。
本来这次想看看我小时候生活的开平四街小区,结果发现这里已经变成一片大工地。我来晚了。这里已经被“棚改”了。工地的门这里原来是“合作社”,也就是国营商店。计划经济时代凭票购买的东西都要在这里买。
仅存的一排还没拆掉的房子。我小时候就是住在这样的房子里,我家是四街小区8排15号。那时候生活很窘迫,但一家人在一起,现在想想也是无比幸福。
那排房子的另一个视角
曾经的开滦一中,后来开滦一中搬到市区后改成开滦十五中,现在不知是什么学校。
曾经的开滦一中与高压电瓷厂之间的小路。去“东山”仅有的几条小路之一。这根电线杆上曾经挂了马矿、马砖到唐山火车站的专用电话线路,现在电线杆还在,线路已经变了。
曾经的马砖子弟学校,我老姑曾经在这里教书。现在是开平区教师进修学校。沿着墙根这条小路往东走,有一个女裁缝。爸爸去世以后,我很多裤子都是找那个裁缝做的。后来听说她得了癌症。
2018年8月17日星期五
Vortex86模块运行Linux系统只能使用COM1~COM4
Vortex86模块上的Linux系统启动后,/dev目录下能够看到很多串口,但只有前4个可以使用。其余串口能够使用open函数正常打开和配置参数,但使用read函数读不到任何内容,使用write函数写入数据直接返回-1.为解决这个问题,需要在shell下执行如下4个命令,即可启用COM5~COM8.
setserial /dev/ttyS4 port 0X360 irq 4 uart 16550A spd_normal skip_test ^fourport baud_base 115200
setserial /dev/ttyS5 port 0X260 irq 3 uart 16550A spd_normal skip_test ^fourport baud_base 115200
setserial /dev/ttyS6 port 0X368 irq 10 uart 16550A spd_normal skip_test ^fourport baud_base 115200
setserial /dev/ttyS7 port 0X0268 irq 11 uart 16550A spd_normal skip_test ^fourport baud_base 115200
另外需要注意,不论串口使用什么波特率,都无需修改也不要修改每条命令最后的baud_base 115200。
如果想使用COM9或者COM10怎么办?我还在研究,目前也没有办法。
2018年8月14日星期二
我用过的电池#8——GP 2号碱性电池
以前在华为北京研究所工作,有一段时间在环保园Q22办公。当时三层有个秘书岛,那里有个旧电池回收箱。有一天我发现里面有很多看上去很崭新的电池,就拣了几个回家,用万用表一量,电量还很充足。于是就把这批电池全部拣回家。图中这几节电池就是这一批的。
2018年8月10日星期五
2018年8月8日星期三
2017年12月31日唐山所见(2)
马家沟耐火材料厂的围墙和里面的烟囱。
开滦马家沟矿的大门。小时候爸爸妈妈骑车带我去东山姥爷家,经常抄近路从这里进去,穿过马家沟矿的厂区。
离大门再近一点。这里有几条铁路,随着工厂衰落,铁路也废弃了。
站在大门口向里看,已经完全看不到曾经煤矿的模样。
门卫的小房子。
马家沟矿旁边的洗煤厂,大门紧闭。门上的五角星还有当年国企的味道。
马家沟矿门前斑驳的路面
小时候曾经去过的商店
太久没有回去,我也不知道这个小区叫什么名字了。和我童年住过的开平四街小区有些类似。
我小时候就是住在这样狭窄的胡同里。
2018年8月1日星期三
订阅:
博文 (Atom)