2018年11月28日星期三

2017年12月31日唐山所见(5)



开滦马家沟矿正门。我小时候每到节日,门口就会安装类似“欢度国庆”的霓虹灯,我妈就会带我去看。当时他们的职工小区领先其他小区通了瓦斯气用于做饭。后来,地下的煤采空了,这座矿也就废弃了,职工愿意的话,可以举家搬到外地继续开采煤炭。
每座煤矿都有这样一座井架,上面有两个大轮子昼夜不停地旋转。煤采空了,当然轮子也就不转了。

马矿门口附近的一条小路,对这条路我其实不怎么熟悉。

小时候去过的商店,早已废弃。窗户用砖头都堵上了。

曾经的唐钢医院,现在被民营资本买下来经营并改了名字。我小时候经常来这里看病。爸爸也是从这里去的天堂。

2018年11月27日星期二

Gnome网络参数设置对话框打不开的变通办法

点击Gnome桌面右上角的图标,可以对网络参数,如IP地址、DNS、Proxy等进行设置。然而我的PC不知道被我动了什么,这个对话框打不开了。
除了正面解决这个问题,修复损坏的组件或者配置文件外,还有其他变通的方式对这些参数进行设置。
1. IP地址和DNS服务器地址
安装NetworkManager-tui这个软件包。然后以管理员身份在命令行运行nmtui程序,会弹出一个基于文本的图形界面,通过键盘的上下左右键和Tab、回车键可进行操作。通过它可以设置IP地址、网关、DNS方面的设置。
2. Proxy
直接在命令行运行下面的命令,注意体换掉命令中的代理服务器地址和端口,其他类型的代理服务器以此类推
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy.http host 'proxy.server.addr'
gsettings set org.gnome.system.proxy.http port proxy_port
如果服务器需要鉴权的话,增加下面的语句
gsettings set org.gnome.system.proxy.http authentication-user 'user_id'
gsettings set org.gnome.system.proxy.http authentication-password 'password'
如果所有类型的协议都是用相同的服务器地址和端口,增加下面的语句
gsettings set org.gnome.system.proxy use-same-proxy true
如果某些地址不使用代理,则增加下面的语句。例子中的地址是我这台电脑的设置,需要根据自己的需求进行替换
gsettings set org.gnome.system.proxy ignore-hosts "['*.csdn.net', '*.org', '*.alicdn.com', '*.tmall.com', '*.taobao.com', '*.yinxiang.com', '*.live.com', '*.163.com', '*.licdn.com', '*.linkedin.com', 'localhost', '127.0.0.0/8', '10.0.0.0/8', '::1', '*.huawei*.com', '*.qq.com', '*.263.net', '*.cn', '*.cupdata.com']"

2018年11月13日星期二

STM32 IAP调用__set_MSP函数设置APP栈指针失败

前些天领导要求我把一块STM32板卡的程序改成可以在线升级的,因为这种板卡需要安装在地铁隧道内,以后一旦需要升级软件,如果不支持在线升级的话,操作起来可能非常不方便。
我以前虽然没做过这类开发,但网上找了些文章,很容易就弄明白了原理,本文也不是要讲这个。但动手改起代码来,发现BOOT跳转到APP之前,通过__set_MSP()函数设置栈指针的时候,一直失败,表现在程序跑飞或者进入HardFault_Handler()中断处理函数。
苦苦分析了一下午也没有找到原因,网上也搜不到相关的处理方法。不过后来还是找到了解决的方法,特写出来放在网上。
原来,我之前在网上看了一篇文章,说Keil自带的ARM编译器5版本没有6版本编译速度快,而且5版本已经停止维护了,于是我把Keil的编译器改成了6版本。但是6版本不支持__asm关键字,于是我用了__ASM volatile写法的__set_MSP()函数。这种写法虽然6版本的编译器能编译,但貌似出了问题,导致一直不成功。
后来,我把编译器换成5版本,用了如下写法的__set_MSP()函数,编译成功且功能正常
__asm void __set_MSP(uint32_t topOfMainStack)
{
    MSR MSP, r0
    BX r14
}
上述方法尽管可以解决问题,由于我对汇编语言不熟悉,深层次的原因其实我并没有找到。由于我并不想往这方面发展,因此也没有深入研究。

2018年11月7日星期三

家人的一些照片

2018年春节摄于北京大栅栏

2018年春节摄于家中

2018年3月摄于北京奥林匹克公园

2018年3月摄于北京奥林匹克公园
2018年9月摄于北京石油学院附属实验小学

2018年11月1日星期四

2018年读过的第10本书——《海底捞你学不会》

豆瓣上有很多评论把这本书归结为传销一类的洗脑书。我读完整本书后认为,这本书其实不是在讲海底捞多么好,也不是在标题中用激将法让经营企业的老板们向海底捞学习。作者想要通过这本书表达的主题在最后一章,即管理是一门艺术,而不是一门科学。海底捞只是作者为了表达这个观点所举出的例子。结合我在华为工作了11年的经历和这本书中讲的海底捞的事情,我也非常认同作者这个观点。管理有一些方法,但做好管理还是需要艺术的天赋。照抄照搬其他公司的一些具体的方法,是不可能成功的。从这个角度来看,管理确实是一门艺术。