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

移动网站开发技术合肥医疗网站建设

移动网站开发技术,合肥医疗网站建设,百度小说免费阅读,响应式布局什么意思文章目录 0. env1. 软件2. 硬件 10. 需求1. 硬件2. 软件 20. DatasheetCPURTC 30. 调试步骤1. 硬件环境搭建2. UEFI 开发环境搭建3. 修改步骤1. UEFI 中使能RTC驱动、配置RTC信息等1.1 使能RTC驱动1.2 修改RTC对应的IIC配置信息1.3 解决驱动冲突1.4 验证波形 2. 修改对应RTC驱动… 文章目录 0. env1. 软件2. 硬件 10. 需求1. 硬件2. 软件 20. DatasheetCPURTC 30. 调试步骤1. 硬件环境搭建2. UEFI 开发环境搭建3. 修改步骤1. UEFI 中使能RTC驱动、配置RTC信息等1.1 使能RTC驱动1.2 修改RTC对应的IIC配置信息1.3 解决驱动冲突1.4 验证波形 2. 修改对应RTC驱动适配SD30771.1 修改IIC3的引脚复用1.2 允许SD3077的写使能功能1.3 验证时间 4. 验证 90. 附件1. CPU 参考手册2. RTC 参考手册 0. env 1. 软件 开发环境ubuntu1804 toolchain飞腾GCC4.9 UEFIedk2-core-3.5 运行环境kylin v10 | kernel-5.4 | aarch64 | arm64 2. 硬件 CPU飞腾 腾锐D2000 RTCSD3077 硬件连接CPU(I2C3) — RTC 10. 需求 1. 硬件 RTC 这路的IIC要通信正常 2. 软件 UEFI 中完成RTC更新 linux中可手动更新date 20. Datasheet CPU 腾锐D2000软件编程手册-V1.1.pdf // 官网下载略 RTC SD3077datasheetv3.4.pdf // 官网下载参考附件 30. 调试步骤 1. 硬件环境搭建 D2000 核心板 通过I2C3接口外接RTC SD3077 RTC供电3V3 CPU可单独上下电不影响RTC供电 2. UEFI 开发环境搭建 ubuntu1804 搭建EDK2的环境飞腾适配过的版本 安装对应toolchain飞腾GCC4.9 制作bootloader的工程略 3. 修改步骤 1. UEFI 中使能RTC驱动、配置RTC信息等 vi PhytiumPkg/PhytiumD2000Pkg/PhytiumD2000Pkg.dsc1.1 使能RTC驱动 !if $(BOARD) DEMODEFINE HDA_SUPPORT TRUE - DEFINE SD3068 FALSEDEFINE SD3068 TRUEremark: 1. 使能这里的SD3068 从而配置I2C slave addr 为0x32 配置RTC使用的I2C controller Base Address 为0x28009000 即I2C3的控制器 1. 如果I2C_RTC_USE没使能使能后即可使用RTC-efi53 DEFINE I2C_RTC_USE TRUE1.2 修改RTC对应的IIC配置信息 使能SD3068后 1. 则RTC使用的slave address修改为0x32529 !if $(SD3068) TRUE530 gPhytiumPlatformTokenSpaceGuid.PcdRtcI2cControllerSlaveAddress|0x32531 !else532 gPhytiumPlatformTokenSpaceGuid.PcdRtcI2cControllerSlaveAddress|0x68533 !endif2. 默认使用的是I2C0、I2C1的控制器来操作RTC实际使用的是I2C3所以这里的RTC使用的I2C controller的基质要修改为I2C3即0x28009000 // 参考手册说明# RTC I2C Controller Register Base Address and Speed# ... - gPhytiumPlatformTokenSpaceGuid.PcdRtcI2cControllerBaseAddress|0x28007000 // IIC1 飞腾空出了I2C0、I2C1gPhytiumPlatformTokenSpaceGuid.PcdRtcI2cControllerBaseAddress|0x28009000 // IIC3 实际使用的是I2C3使能I2C_RTC_USE后 1. 则使用的事Ds1339_RtcLib.inf对应驱动./PhytiumPkg/PhytiumD2000Pkg/Library/Ds1339_RtcLib/253 # Board Specific RealTimeClock Library254 !if $(I2C_RTC_USE) TRUE255 RealTimeClockLib|$(PLATFORM_PACKAGE)/Library/Ds1339_RtcLib/Ds1339_RtcLib.inf256 !else257 RealTimeClockLib|$(PLATFORM_PACKAGE)/Library/XgeneRealTimeClockLib/XgeneRealTimeClockLib.inf258 !endif259 TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf1.3 解决驱动冲突 驱动冲突占用了0x28000000,0x5000的位置正好囊括了i2c3的地址 1. 如果不用也可以不使能该功能--- a/PhytiumPkg/PhytiumD2000Pkg/Drivers/FixGcdDxe/FixGcdDxe.cb/PhytiumPkg/PhytiumD2000Pkg/Drivers/FixGcdDxe/FixGcdDxe.c-54,18 54,18 InitializeFixGcdDxe ();ASSERT_EFI_ERROR (Status);- Status gDS-AddMemorySpace ( - EfiGcdMemoryTypeReserved, - 0x28008000, 0x5000, - EFI_MEMORY_UC - ); - ASSERT_EFI_ERROR (Status);//Status gDS-AddMemorySpace (// EfiGcdMemoryTypeReserved,// 0x28008000, 0x5000,// EFI_MEMORY_UC// );^M//ASSERT_EFI_ERROR (Status);- Status gDS-SetMemorySpaceAttributes ( - 0x28008000, 0x5000, - EFI_MEMORY_UC - ); - ASSERT_EFI_ERROR (Status);//Status gDS-SetMemorySpaceAttributes (// 0x28008000, 0x5000,// EFI_MEMORY_UC// );//ASSERT_EFI_ERROR (Status);return Status;}1.4 验证波形 编译后测量I2C3这一路的信号正常会产生RTC读写信号 2. 修改对应RTC驱动适配SD3077 使用上述修改则需要修改的驱动为./PhytiumPkg/PhytiumD2000Pkg/Library/Ds1339_RtcLib/* 1.1 修改IIC3的引脚复用 rtc-efi不需要依赖ACPI配置RTC管脚引用可以直接放在驱动中执行。I2C3 管脚复用信息如下 控制域…Func2hdt_mb_done_state_pad…i2c_3_sclhdt_mb_fail_state_pad…i2c_3_sda I2C3 引脚功能配置寄存器 偏移位域说明0x0204[3 : 2]控制 hdt_mb_done_state_pad 的上下拉0x0204[1 : 0]控制 hdt_mb_done_state_pad 的复用功能0x0208[31 : 30]控制 hdt_mb_fail_state_pad 的上下拉0x0208[29 : 28]控制 hdt_mb_fail_state_pad 的复用功能 实际使用I2C3则需要复用 这两个pin为Func2 即 SCL : 0x28180000 0x0204 : [3:0] : 写入0010 SDA : 0x28180000 0x0208 : [31:28] : 写入0010 在源码驱动初始化程序段中添加管脚复用 vi PhytiumPkg/PhytiumD2000Pkg/Library/Ds1339_RtcLib/Ds1339_RtcLib.c1. 在LibRtcInitialize中添加服用程序 -980,8 1016,20 LibRtcInitialize (mRtcBase PcdGet64 (PcdRtcI2cControllerBaseAddress);mSlaveaddress PcdGet32 (PcdRtcI2cControllerSlaveAddress);/* I2C3 :SCL : 0x28180000 0x0204 : [3:0] : Pll FUNC2SDA : 0x28180000 0x0208 : [31:28] : Pll FUNC2*/Reg MmioRead32(0x28180204);MmioWrite32(0x28180204, (Reg (~(0xff 0))) | (0x22 0));Reg MmioRead32(0x28180208);MmioWrite32(0x28180208, (Reg (~(0xff 28))) | (0x22 28)); ...1.2 允许SD3077的写使能功能 3077又写保护功能要想在操作系统中正常使用hwclock之类的命令需要提前禁止写保护功能(客户要求)关于3077芯片写保护的禁止与使能说明如下 2.1 寄存器说明 3. 按文档说明做如下设置禁止写保护功能 先配置WRTC1 0x10 赋值 1xxx xxxx // 实际使用值为0x80 再配置WRTC2,3 0x0f 赋值 1xxx x1xx // 厂商建议值0xff实际使用值为0x84 修改源码加入上述配置寄存器禁止写保护的代码段 vi PhytiumPkg/PhytiumD2000Pkg/Library/Ds1339_RtcLib/Ds1339_RtcLib.c#ifdef RTC_FIX/* I2C3 :SCL : 0x28180000 0x0204 : [3:0] : Pull FUNC2SDA : 0x28180000 0x0208 : [31:28] : Pull FUNC2*/Reg MmioRead32(0x28180204);MmioWrite32(0x28180204, (Reg (~(0xff 0))) | (0x22 0));Reg MmioRead32(0x28180208);MmioWrite32(0x28180208, (Reg (~(0xff 28))) | (0x22 28));if(mSlaveaddress CONFIG_RTC_SD3068){SD3068EnableRegWrite (mSlaveaddress);} #endif#ifdef RTC_FIX VOID EFIAPI SD3068EnableRegWrite (IN UINT32 mSlaveaddress) {UINT8 Buffer;Buffer rtc_read (0x10, mSlaveaddress);Buffer | (1 7);rtc_write (0x10, Buffer, mSlaveaddress);Buffer rtc_read (0x0f, mSlaveaddress);Buffer | (1 2);Buffer | (1 7);rtc_write (0x0f, Buffer, mSlaveaddress);} #endif /* ifdef RTC_RIX */1.3 验证时间 启动到操作系统后查看内核log看一下rtc-efi打印 参考log rootkylin-pc:~# dmesg | grep rtc [ 1.087034] rtc-efi rtc-efi: registered as rtc0 [ 1.093138] rtc-efi rtc-efi: setting system clock to 2024-04-12T12:13:51 UTC (1712924031)4. 验证 启动到操作系统使用date修改系统时间使用hwclock修改RTC时间reboot操作系统查看当前系统时间是否与RTC时间保持一致即验证RTC功能是否正常设备下电一段时间后重新上电上电后再次确认时间 参考log如下 rootkylin-pc:~# date 1970年 01月 01日 星期四 08:00:19 CST rootkylin-pc:~# rootkylin-pc:~# date -s 2024-04-13 11:11:00 2024年 04月 13日 星期六 11:11:00 CST rootkylin-pc:~# rootkylin-pc:~# hwclock -w rootkylin-pc:~# rootkylin-pc:~# hwclock -r 2024-04-13 11:11:14.21232508:00 rootkylin-pc:~# rootkylin-pc:~# reboot// rebootrootkylin-pc:~# rootkylin-pc:~# date 2024年 04月 13日 星期六 11:13:12 CST rootkylin-pc:~# // 设备断电几分钟后再次上电。RTC保持供电rootkylin-pc:~# rootkylin-pc:~# date 2024年 04月 13日 星期六 11:27:48 CST rootkylin-pc:~# rootkylin-pc:~# dmesg | grep rtc [ 1.091921] rtc-efi rtc-efi: registered as rtc0 [ 1.098025] rtc-efi rtc-efi: setting system clock to 2024-04-13T11:27:26 UTC (1713007646) rootkylin-pc:~# 90. 附件 1. CPU 参考手册 略 2. RTC 参考手册 https://www.whwave.com.cn/cpscxz
http://www.pierceye.com/news/226691/

相关文章:

  • 网站建设企业网站常用参数
  • 深圳市建设工程质量检测网站网站建设公司 待遇
  • 站长工具大全php做在线直播网站
  • 品牌建设网站公司排名3d模型代做网站
  • 保定网站建设模板联系方式网站设计时图片怎么做
  • 网站策划书内容鄂尔多斯网站制作 建设
  • 广州展厅设计公司排名seo快速排名首页
  • 网站命名方式潍坊市建设工程管理处网站
  • 暴利产品竞价单页网站上海做网站建设的公司排名
  • 坪地网站建设如何做网站前端多少钱
  • 国内用不了的网站展示图片的网站模板
  • 网站优化首页付款网站制作职业
  • 做网站的软件有些什么建设公司门户网站
  • 浙江省长兴县建设局网站自己专业做网站
  • 做网站外包最牛的公司东莞网站制作十年乐云seo
  • 慈溪专业做网站公司网站后台内容更换怎么做
  • wordpress网站搭建教程视频网站优化前景
  • 门户网站的优点seo月薪
  • 怎样做网站静态什么网站做二维码比较好
  • 共享虚拟主机做网站够用么抖音短剧推广怎么做
  • 个人网站备案内容写什么西部数码网站管理助手v3.1
  • 搜索引擎 网站模板wordpress 图片走cdn
  • 常见cms网站源码下载重庆微信网站开发公司
  • 网站开发用什么电脑天津室内设计公司排名
  • 云南网站建设招商建设公司网站计入哪个科目
  • 网站备案在哪里查询海外市场推广方案
  • 中诺建设集团有限公司网站微信商家小程序收费吗
  • 沙井品牌网站建设南宁网站提升排名
  • 网站空间备案要多久数商云是外包吗
  • 网站设计公司需要什么资质网站建设所需服务器