C118 免按开机自动加载固件
最近无事,研究了按按钮开机的功能;功能的起初是参考了别人的系统是怎么做免开机加载固件的.
一、原理:
1.c118 原生loader部分代码是没有源代码的,它上电只需要按开机键然后系统就会起来.
2.原生loader起来后,加载bb里面的loader . BBloader就会接管系统所有的interrupt
3.只要控制bbloader reset系统,c118 就会跑原生的loader,然后linux端用oscomo后台执行加载固件的命令,系统就会自动加载固件;
二、需要解决的问题;
1.怎么让机器一上电,就自动起来
解决办法:把开机键用焊锡连接起来来.
2.开机键连接起来后,bbloader里面一直有问题.
这个问题我研究了bbloader起来后,系统里面其它按键好像不会有问题,但是power就有问题.仔细研究代码,发现对power部分的代码做了特殊处理,power key的代码只要有interrupt就会过滤的press pressed几种状态.power 只会有一种状态,而且按了后,等待释放驱动里面就调用了poweroff.
所以只需修改代码流程,把power键屏蔽,把power off函数调用去掉即可;
3.怎么让系统重启;
测试过,系统重启只需要watchdog这个定时器;
参考这个命令osmload reset,查看代码发现reset的时候,给loader发了reset消息,然后bbloader回复一ok 的msg.然后就直接调用了驱动里面的watchdog.
系统就重启了.
三、还需要解决的问题.
上面所有的都在bbloader里面做的处理,但是没在layer1里面处理。
bbloader 和layer1的区别在于,layer1 init的时候打开了中断,bbloader init的时候禁用了所有中断,测试过程中,发现不禁用所有中断,watchdog 只会关闭系统,但是不会自动重启.
C118 免按开机自动加载固件的更多相关文章
- [dpdk][kernel][driver] 如何让DPDK的UIO开机自动加载到正确的网卡上
0. 前言 开了虚拟机,开始dpdk之前,我每天都干这几件事: [root@dpdk potatos]# modprobe uio [root@dpdk potatos]# insmod /root/ ...
- ubuntu开机自动加载iptables配置(转)
原文:http://www.xuebuyuan.com/730127.html iptables的使用参见http://wiki.ubuntu.org.cn/IptablesHowTo iptable ...
- 01第一个批处理文件 window开机自动加载批处理文件
1 批处理文件用来加载python程序 批处理的文件名称为:Hello.bat @echo off C: cd C:\Users\\Desktop\python\HelloWorld\HelloWo ...
- 让Linux下的打印机hp1020、hp p1008自动加载固件
前言: 前段时间,处理公司打印机服务器Linux化工作.遇到问题如下:hp1020.hp1008断电后不能继续打印.而其他打印机在连接Linux打印机的情况下,断电后也能正常打印. 鉴于此情况,我搜寻 ...
- 永久禁止floppy模块开机自动加载
环境:Red Hat Enterprise Linux Server release 7.4 (Maipo) 问题:执行fdisk -l后系统会抓到错误 解决方案: https://access.re ...
- 为 Ubuntu 18.04 添加开机自动加载 ntfs分区 功能
注意:Ubuntu终端命令是区分大小写的 1,准备的: ntfs-3g -- 提供ntfs读写支持(一般说来是自带的,若没有,可是使用 sudo apt-get isntall ntfs-3g ...
- linux解析映射文件与自动加载脚本
目录 一 :解析映射文件 1.解析文件的由来之主机名: 2.解析映射文件(DNS) 二:磁盘挂载文件 三:开机自动加载脚本 一 :解析映射文件 1.解析文件的由来之主机名: 无论是在局域网还是在INT ...
- 如何让openvpn在windows启动时自动加载
在非常需要vpn的人群中,他们几乎一整天都连接着vpn,但是每次开机都要连接vpn的过程有时候比较繁琐对于新手而言.这篇文章主要是说明如何在windows启动时自动加载openvpn自动连接,该教程适 ...
- tomcat自动加载class
转载 tomcat自动加载改变的class文件(无需重启tomcat) http://blog.csdn.net/miraclestar/article/details/6434164 不重启Tom ...
随机推荐
- robotframework笔记9
列表和字典 通过专用关键字创建了列表和字典.我们将在这里看到创建的两个例子 ︰ 选择 *** Settings *** Library BuiltIn Library Collections *** ...
- 创建高性能移动 web 站点
如果你的网站3秒钟没有响应,人们就会失去兴趣了.为了满足响应快这个愿望,需要一个不同的方法在手机上进行分析,设计和测试. 这篇文章将会对Johan Johansson在2013年4月提出" ...
- python实现微信打飞机游戏
环境:Ubuntu 16.04 LTS Python 2.7.11 + Pygame + Pycharm 代码: # -*- coding: UTF-8 -*- import pygame, ran ...
- hdu 2473 Junk-Mail Filter (并查集之点的删除)
Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- ARM中的总线
ARM中的总线用于不同部件之间的通信.有两种不同类型的设备连接到总线:ARM处理器,它是总线的主设备,拥有对总线的仲裁权,可以通过同一总线主动发起数据传输请求:外围器件,是总线的从设备,在总线上是被动 ...
- 多分类问题中,实现不同分类区域颜色填充的MATLAB代码(demo:Random Forest)
之前建立了一个SVM-based Ordinal regression模型,一种特殊的多分类模型,就想通过可视化的方式展示模型分类的效果,对各个分类区域用不同颜色表示.可是,也看了很多代码,但基本都是 ...
- java.io.FileOutputStream类的5个构造方法
java.io.FileOutputStream的构造函数: ①FileOutputStream(File file) ②FileOutputStream(String name) ③FileOutp ...
- ACTIVITI 研究代码 之 模版模式
模板方法模式需要开发抽象类和具体子类的设计师之间的协作.一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤.代表这些具体逻辑步骤的方法称做基本方法(primitive ...
- 如何实现301的跳转?当输入域名http://xxx.com的时候自动重定向到www上去
答案:在服务器上操作,注意勾选和不勾选的区别,使用Fiddle进行观察,301和302之间的区别
- LInux软件的卸载和安装(转)
在linux环境中,尤其是cenos中安装过一些软件,一般是二进制安装与源码安装,现小结一下linux中的安装与卸载. 一.通常Linux应用软件的安装包有三种: 1) tar包,如software- ...