当前位置: 首页 > wzjs >正文

网站开发实践研究报告福州百度seo排名软件

网站开发实践研究报告,福州百度seo排名软件,云空间布置网站,开一个做网站的公司赚钱吗一、RTC时钟 测试一下看看能不能用就行 二、LED指示灯驱动 1.在设备树找到LED的节点,改对应的引脚, 2.还需要注意引脚的复用引脚有没有被其它东西占用,可以通过NXP官方提供的cofingue tool软件去查看,注释掉就行 三、RJGT102加…

一、RTC时钟

测试一下看看能不能用就行

二、LED指示灯驱动

1.在设备树找到LED的节点,改对应的引脚,

在这里插入图片描述

2.还需要注意引脚的复用引脚有没有被其它东西占用,可以通过NXP官方提供的cofingue tool软件去查看,注释掉就行

在这里插入图片描述

三、RJGT102加密芯片驱动

1.rjgt102.tar.gz.temp文件拉进去虚拟机,在虚拟机下改名为rjgt102.tar.gz为压缩包文件。
2.cd 到 /home/hugo/Demo 目录下

把rjgt102.tar.gz拷贝到 /home/hugo/Demo 目录下

cd /home/hugo/Demo
3.在工作目录解压rjgt102.tar文件
hugo@hugo-virtual-machine:~/Demo$ tar -xvf rjgt102.tar.gz
4.修改i2c.c里面对应i2c节点:

根据原理图,看加密芯片接在I2C总线哪个编号,修改i2c.c里面对应i2c节点。(在原理图中,是I2C1,但是在代码中是I2C0,从0开始算起的)
在这里插入图片描述

在这里插入图片描述

5.修改Makefile交叉编译路径,按照自己实际情况去修改。

我这里的有一个环境变量配置文件,已经包括了交叉编译器所在的路径,我在编译文件前,都会先激活这个环境变量配置文件,让它生效,所以我这里的Makefile不需要配置完整的CC交叉编译器路径。

5.1 (我的环境变量配置文件路径:)

在这里插入图片描述

5.2 修改后的Makeifile文件
  • (只是回顾:可以看交叉编译2 )
# 源文件与目标定义
src = $(wildcard ./*.c)
object = $(patsubst %.c,%.o,$(src))
target = rjgt102# 交叉编译器配置(直接从环境变量中引用)
CC = aarch64-poky-linux-gcc# 目标系统根目录
SDKTARGETSYSROOT = /home/hugo/SDK/sysroots/aarch64-poky-linux# 编译选项
CFLAGS = -O2 -pipe -g -feliminate-unused-debug-types \-mcpu=cortex-a53+crc+crypto \-fstack-protector-strong \--sysroot=$(SDKTARGETSYSROOT) \-isystem $(SDKTARGETSYSROOT)/usr/include$(target): $(object)$(CC) -o $@ $^ $(CFLAGS)%.o: %.c$(CC) -o $@ -c $< $(CFLAGS).PHONY: clean
clean:rm -f $(target) $(object)
6. 编译

使能交叉编译工具链的环境变量:

source /home/hugo/SDK/environment-setup-aarch64-poky-linux

清理再编译:

make clean && make

结果:
在这里插入图片描述

6.1 如果报错,手动验证有没有头文件能不能找到:
# 检查 string.h 是否存在
ls $(SDKTARGETSYSROOT)/usr/include/string.h  # 应存在
# 检查编译器是否能找到该头文件
echo '#include <string.h>' | aarch64-poky-linux-gcc -E -xc - --sysroot=$(SDKTARGETSYSROOT) -isystem $(SDKTARGETSYSROOT)/usr/include
# 若无报错,则配置成功

在这里插入图片描述

7. 加密芯片执行

在这里插入图片描述
在这里插入图片描述

四、硬件看门狗

1.看原理图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.通过在设备树注册的方式,看看SET0 \ SET1 \SET2 接的GPIO引脚 对应的编号是多少

1.给对应的GPIO口进行注册
在这里插入图片描述
2.重新编译生成设备树dtb,在开发板上使用命令查看GPIO引脚对应的编号。

命令:

# 查看GPIO映射(需要内核启用DEBUG_FS)
cat /sys/kernel/debug/gpio

输出中会显示所有已注册的GPIO。
找到gpiochip3(对应GPIO4)的基地址,然后找到了我们自己在设备树给GPIO4_1 / GPIO4_0 / GPIO4_21配置的节点名字(set0 set1 set2 下面图是旧图是user-set2,不要紧),然后看到GPIO引脚对应的编号是96 97 117 。
在这里插入图片描述

3. 编写脚本去设置GPIO引脚的值(改变SET1 SET2 SET0的值)

把设备树dts文件里的看门狗代码注释掉。
使用GPIO对应的编号编写脚本watchdog.sh 去设置GPIO引脚的值(高低电平),通过设置GPIO引脚的值设置看门狗模式。

#!/bin/bash
# Copyright 2021 Tronlong Elec. Tech. Co. Ltd. All Rights Reserved.
# Description:
#   Watch dog test.## 这个脚本SET1和SET2的值固定是1,只改变SET0的值去设置10s或60s延时复位,有需要可以修改其它值
#################################################
## GPIO4_1    --> SET0           97           ##
## GPIO4_0    --> SET1           96           ##
## GPIO4_21    --> SET2          117          ##
#################################################readonly VERSION="1.0"
GPIO=""
SET0_PIN=97
SET1_PIN=96
SET2_PIN=117# Watchdog timeout
# 开始时默认是60s,set0,1,2的值都为1
# 1: 60s
# 用来保存看门狗超时时间,然后下面的代码会根据这个值来设置看门狗超时时间
s0_val=1
s1_val=1
s2_val=1# Help message.
# 用来打印帮助信息
usage() {echo "Usage: $1 <options> [-g gpio <-t timeout>]options:--gpio(-g)      Watch dog gpio number (e.g 124)--timeout(-t)   Watch dog timeout(unit: second, value: 10 or 60)--version(-v)   Print version.--help(-h)      Print this help message.e.g../watchdog.sh -g 124 -t 10"
}# Program entry function
# 程序入口函数
main() {#一、判断第一个参数case $1 in#1.如果第一个参数的值为--help或者-h,则打印帮助信息并退出,$0表示脚本名称./watchdog.sh--help | -h)                    usage $0                   exit 0;;#2.如果第一个参数的值为--gpio或者-g,则判断参数个数是否小于4,如果小于4则打印帮助信息并退出--gpio | -g)if [[ $# < 4 ]]; then       usage $0exit 0fi                          #如果参数个数大于等于4,则继续执行下面的代码GPIO=$2                     #将第二个参数赋值给GPIO变量,这个引脚用来喂狗的if [[ $3 != "--timeout" && $3 != "-t" ]]; then  #判断第三个参数是否为--timeout或者-t,如果不是则打印帮助信息并退出usage $0exit 0fi  if [[ $4 == 60 ]]; then     #判断第四个参数是否为10,如果是则将TIMEOUT变量赋值为0s2_val=1s1_val=1s0_val=1elif [[ $4 == 10 ]]; then   #判断第四个参数是否为60,如果是则将TIMEOUT变量赋值为1s2_val=1s1_val=1s0_val=0else                        #如果第四个参数既不是10也不是60,则打印帮助信息并退出usage $0exit 0fi;;#3.如果第一个参数的值为--version或者-v,则打印版本信息并退出--version | -v)echo "Version: ${VERSION}"exit 0;;*)usage $0exit 0;;esac  # case..esac结构#二、开始喂狗echo "Feeding the watch dog..."# 1.Configure watchdog 10 second timeout # 设置喂狗的模式(10s还是60s),导出SET0引脚,# 并设置为输出模式,根据TIMEOUT的值设置SET0引脚的值if [[ ! -d /sys/class/gpio/gpio${SET2_PIN} ]]; thenecho ${SET2_PIN} > /sys/class/gpio/exportfiecho out > /sys/class/gpio/gpio${SET2_PIN}/directionecho $s2_val > /sys/class/gpio/gpio${SET2_PIN}/valueif [[ ! -d /sys/class/gpio/gpio${SET1_PIN} ]]; thenecho ${SET1_PIN} > /sys/class/gpio/exportfiecho out > /sys/class/gpio/gpio${SET1_PIN}/directionecho $s1_val > /sys/class/gpio/gpio${SET1_PIN}/valueif [[ ! -d /sys/class/gpio/gpio${SET0_PIN} ]]; thenecho ${SET0_PIN} > /sys/class/gpio/exportfiecho out > /sys/class/gpio/gpio${SET0_PIN}/directionecho $s0_val > /sys/class/gpio/gpio${SET0_PIN}/value# 2.Export WDI pin # 导出WDI引脚,并设置为输出模式,为下面喂狗做准备if [[ ! -d /sys/class/gpio/gpio${GPIO} ]]; thenecho ${GPIO} > /sys/class/gpio/exportfiecho out > /sys/class/gpio/gpio${GPIO}/direction# Feed watch dog# 循环喂狗,循环去给WDI引脚赋值0和1while true; doecho 1 > /sys/class/gpio/gpio${GPIO}/valuesleep 1echo 0 > /sys/class/gpio/gpio${GPIO}/valuesleep 1echo "feeding..."done#三、如果程序执行到这里,说明上面循环退出了,表明程序异常退出了,需要重启系统echo "Feed the watch dog done!"
}#使用‘@` 可以将所有参数作为一个整体传递给函数或命令
#@表示将所有传递给脚本的参数转发给main` 函数
main $@

4. 执行硬件看门狗脚本程序

# 124是喂狗的GPIO编号
# 10是设置系统复位延时为10s
# &是放到后台去执行
./watchdog.sh -g 124 -t 10 
# 124是喂狗的GPIO编号
# 60是设置系统复位延时为60s
./watchdog.sh -g 124 -t 60 &

5.(另一种方法)将看门狗写到设备树里直接写死

可以像第2步一样,把(SET0 SET1 SET2)的 GPIO引脚的高低电平的值写死,固定就是那个延时时间进行复位。

五 、以太网

一个千兆网口、两个百兆网口(其中一个百兆网口是扩展的)。
百兆网口接在usb hub上,会自动识别。

六、USB有问题

七、HDMI

八 、4G模块 (还有两个模块没有调)

在设备树里使能4G的电源引脚(PCIE引脚,因为4G模块插在PCIE接口,然后通过协议转换芯片转的usb然后接在usb总线上)
在这里插入图片描述

九、wifi

8188(因为wifi模块硬件接触不良)

8811 (参考创龙官方提供的8188 Makeflie文件 去修改8811的Makefile文件)

1.根据创龙提供的指导文档,使用rtl8821cu.tar.gz源码包对评估板进行RTL8811 模块驱动适配,(因RTL8821CU驱动向下兼容RTL8811协议)。
将usb_wifi_test 的 src 目录下的 WIFI 驱动源码拷贝至/home/hugo/Demo/usb_wifi_test/src目录下

2.在环境方面,内核镜像和模块编译成功,打开Makefile配置交叉编译环境,指定IMX8平台、交叉编译链及内核源码路径。Makefile关键修改的参数如下:
指定目标平台:CONFIG_PLATFORM_FS_IMX8 = y
配置交叉编译链路径:CROSS_COMPILE = aarch64-poky-linux-
绑定内核源码路径:KSRC = /home/hugo/IMX8/Kernel/Linux-5.4.70
在这里插入图片描述
在这里插入图片描述

3.驱动编译‌:加载SDK环境变量并执行make命令,成功生成8821cu.ko(实际向下兼容8811)WIFI驱动文件。

hugo@hugo-virtual-machine:~/Demo/usb_wifi_test/src/rtl8821cu$ source /home/hugo/SDK/environment-setup-aarch64-poky-linux
hugo@hugo-virtual-machine:~/Demo/usb_wifi_test/src/rtl8821cu$ make

在这里插入图片描述

文件系统修改

1.系统主机名修改

修改制卡包里面的文件系统文件试试。看看重新制卡会不会变?

2.指示灯脚本

直接放后台运行就行

http://www.dtcms.com/wzjs/162825.html

相关文章:

  • 线下编程课程收费标准北京seo设计公司
  • text-indent:2em wordpress铁力seo
  • 响应式网站设计多少钱南宁关键词优化软件
  • 漳州网站设计制作全是广告的网站
  • 购物网站留言反馈页面关键词资源
  • 合肥网站建设=388元网络运营培训哪里有学校
  • 番禺网站建设哪家好查询网域名查询
  • 做网站写个人日志网站权重怎么看
  • 朝阳网站建设 百子湾全国各大新闻网站投稿
  • 如何做好网站seo外包推广
  • jsp做网站还网站权重怎么查
  • 桂林尚品网络做的网站好不好百度的主页
  • 网站设计佛山近期的时事热点或新闻事件
  • 防护网施工方案武汉做seo
  • 建设网站大全千锋教育学费
  • 怎么做网站呢百度引擎搜索引擎
  • 如何做可以微信转发的网站免费友链平台
  • 企业网站的基本特点是什么网络推广公司方案
  • 厦门的服装商城网站建设seo1视频发布会
  • 竹子建设网站自己网站怎么推广
  • 上海网站注销网络市场的四大特点
  • 大数据营销获客上海排名优化seobwyseo
  • 做网站后台系统的规范百度新闻搜索
  • 常用来做网站首页的文件名搜狗站长工具
  • 企业形象网站怎么做网站如何被百度快速收录
  • 西安企业做网站微信公众号推广网站
  • 日照市五莲县网站建设网站优化系统
  • 淘宝网站设计价格搜狗seo查询
  • 做产品网站费用吗百度关键词搜索引擎
  • 长春网站建设首选网诚传媒_比较好网站制作公司