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 ...
随机推荐
- Loadrunner基础:Loadrunner Vuser基本概念和应用
学习示例 Loadrunner自带有WebTour的网站可以帮助初学者学习性能测试安装完Loadrunner以后进入到Program Files下的WebTour文件加,启动WebTour服务在浏览器 ...
- OC 继承子类对象调用方法机制 子类对象访问父类中的实例变量
在继承中,子类对象如何调用到正确方法的机制 每一个Objective - C对象都有一个隐藏的指针指向类的代码,当向一个对象发送消息的时候,当前的对象会首先在当前类里去查找相应的方法,如果找到的话,直 ...
- struts2 <s:iterator> status属性
struts2 <s:iterator> status属性 转载▼ iterator标签主要是用于迭代输出集合元素,如list set map 数组等,在使用标签的时候有三个属性值得我 ...
- ERP开发分享 1 数据库表设计
这是我的ERP设计经验分享系列,今天讲的是数据库的表设计(1),主要阐述: 1.单字段的主键:2.使用int32作为主键类型:3.使用版本字段处理乐观锁定:4.生效字段标明是否允许“被使用”:5.锁定 ...
- 再谈HTML
关于WEB 采用B/S计算模式开发的应用程序我们一般称为Web应用程序. WEB三大层面: 网页的结构部分:结构的定义使用HTML语言(超文本标记语言Hyper Text Mark Up Langua ...
- iOS:控制器间的数据传递
在iOS开发中遇到的控制器间的数据传递主要有两种情况:顺传递与逆传递.顺传递是指数据的传递方向和控制器的跳转方向相同(如图1):逆传递是指数据的传递方向和控制器的跳转方向相反(如图2).这里分别介绍这 ...
- webapi方式
随笔 - 112 文章 - 0 评论 - 334 ASP.NET MVC学习系列(二)-WebAPI请求 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前 ...
- centos 卸载软件·
centos下完全卸载php 1显示相关软件的列表 rpm -qa | grep i(可以不加) php 2 卸载即可 rpm -e 软件名 --nodeps centos下完全卸载mysql 1显 ...
- Android ClearEditText:输入用户名、密码错误时整体删除及输入为空时候晃动提示
package com.lixu.clearedittext; import android.app.Activity; import android.os.Bundle; import androi ...
- 在完成一个异步任务后取消剩余任务(C#)
完整实例 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System. ...