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

山东建设厅官方网站孙松青24小时国内新闻大事

山东建设厅官方网站孙松青,24小时国内新闻大事,石家庄建设网,莎娜琳官方网站做水您提到的两种架构描述本质上遵循相同的分层设计理念#xff0c;但存在差异的原因在于 视角不同 和 硬件平台特性。以下是详细解析#xff1a; 一、架构对比分析 1. 逻辑分层#xff08;通用软件设计视角#xff09; 应用层#xff08;UI/用户交互#xff09;↓ 业务逻辑…您提到的两种架构描述本质上遵循相同的分层设计理念但存在差异的原因在于 视角不同 和 硬件平台特性。以下是详细解析 一、架构对比分析 1. 逻辑分层通用软件设计视角 应用层UI/用户交互↓ 业务逻辑层平衡算法/文件管理↓ 驱动层传感器采集/硬件控制特点 功能导向按软件功能模块划分与硬件无关通用性适用于任何硬件平台如PC/嵌入式/手机典型应用传统单核设备如STM32F4系列 2. 物理分层STM32MP157异构平台视角 --------------------- | Qt应用层 | --------------------- | Linux服务层 | --------------------- | FreeRTOS实时层 | --------------------- | 硬件抽象层HAL | ---------------------特点 硬件耦合紧密结合双核异构架构A7M4实时性优化明确区分实时任务M4与非实时任务A7典型应用需要硬实时复杂UI的场景如工业HMI 二、分层差异的原因 1. 多出的Linux服务层与FreeRTOS实时层 硬件差异 STM32MP157 的双核特性要求明确划分操作系统层级 Linux层管理UI、网络、文件系统等非实时任务FreeRTOS层处理ADC采样、电机控制等实时任务 单核芯片如i.MX6ULL无需此分层所有任务在单一OS中运行 功能必要性 #mermaid-svg-wNVuAWhkfMbz5ctY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY .error-icon{fill:#552222;}#mermaid-svg-wNVuAWhkfMbz5ctY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-wNVuAWhkfMbz5ctY .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-wNVuAWhkfMbz5ctY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-wNVuAWhkfMbz5ctY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-wNVuAWhkfMbz5ctY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-wNVuAWhkfMbz5ctY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-wNVuAWhkfMbz5ctY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-wNVuAWhkfMbz5ctY .marker.cross{stroke:#333333;}#mermaid-svg-wNVuAWhkfMbz5ctY svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-wNVuAWhkfMbz5ctY .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY .cluster-label text{fill:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY .cluster-label span{color:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY .label text,#mermaid-svg-wNVuAWhkfMbz5ctY span{fill:#333;color:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY .node rect,#mermaid-svg-wNVuAWhkfMbz5ctY .node circle,#mermaid-svg-wNVuAWhkfMbz5ctY .node ellipse,#mermaid-svg-wNVuAWhkfMbz5ctY .node polygon,#mermaid-svg-wNVuAWhkfMbz5ctY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-wNVuAWhkfMbz5ctY .node .label{text-align:center;}#mermaid-svg-wNVuAWhkfMbz5ctY .node.clickable{cursor:pointer;}#mermaid-svg-wNVuAWhkfMbz5ctY .arrowheadPath{fill:#333333;}#mermaid-svg-wNVuAWhkfMbz5ctY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-wNVuAWhkfMbz5ctY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-wNVuAWhkfMbz5ctY .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-wNVuAWhkfMbz5ctY .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-wNVuAWhkfMbz5ctY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-wNVuAWhkfMbz5ctY .cluster text{fill:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY .cluster span{color:#333;}#mermaid-svg-wNVuAWhkfMbz5ctY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-wNVuAWhkfMbz5ctY :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 非实时请求 跨核通信 硬件驱动 Qt应用层 Linux服务层 FreeRTOS实时层 HAL层 2. 硬件抽象层HAL的定位 在传统分层中HAL属于驱动层的一部分在异构分层中HAL作为独立层屏蔽双核差异// HAL接口示例统一A7/M4访问 typedef struct {int (*read_sensor)(void); // M4实现void (*set_led)(int state); // A7实现 } HAL_Operations;三、非STM32MP157平台的架构调整 1. 使用纯Linux平台如i.MX6ULL 应用层Qt↓ 业务逻辑层算法文件↓ Linux内核层驱动实时补丁↓ 硬件层传感器/屏幕关键调整 移除FreeRTOS层实时任务通过 Linux PREEMPT_RT 补丁实现示例配置# 内核配置 CONFIG_PREEMPT_RT_FULLy CONFIG_HIGH_RES_TIMERSy2. 使用低端MCU如STM32F4 应用层裸机UI↓ 业务逻辑层简化算法↓ 驱动层HAL库典型方案 UI使用嵌入式GUI如TouchGFX/LVGL文件系统使用FatFS实时性由中断保障 3. 不同硬件平台的架构映射表 硬件平台对应架构分层实时性保障方案STM32MP157双核Qt应用 Linux服务 FreeRTOS实时 HALM4核硬实时i.MX6ULL单核Qt应用 Linux内核RT补丁 HAL软实时PREEMPT_RTSTM32F4单核裸机应用 驱动层中断优先级控制 四、架构设计建议 1. 通用设计原则 模块化隔离 // 业务逻辑层接口硬件无关 class BalanceAlgorithm { public:virtual double calculate(QVectordouble samples) 0; };// 平台相关实现 class STM32MP157Balance : public BalanceAlgorithm { /*M4核实现*/ }; class LinuxRTBalance : public BalanceAlgorithm { /*PREEMPT_RT实现*/ };跨平台HAL设计 // hal.h #if defined(STM32MP157)#include hal_stm32mp157.h #elif defined(IMX6ULL)#include hal_imx6ull.h #endif2. 选择依据 考量因素推荐架构原因需要硬实时10μsSTM32MP157异构分层M4核专用于实时任务成本敏感i.MX6ULL单核Linux架构省去M4核开发成本界面复杂度低STM32F4裸机架构减少OS开销 五、示例i.MX6ULL单核方案实现 1. 软件架构 应用层Qt Quick↓ 业务逻辑层平衡算法 模板管理↓ Linux内核层带PREEMPT_RT补丁↓ 驱动层SPI/I2C/ADC驱动2. 实时数据采集实现 // 内核模块确保实时性 static irq_handler_t adc_isr(int irq, void *dev) {struct adc_sample *sample kmalloc(sizeof(*sample), GFP_ATOMIC);sample-value read_adc();kfifo_put(adc_fifo, sample); // 无锁环形缓冲区return IRQ_HANDLED; }// 用户空间线程设置实时优先级 void *data_thread(void *arg) {struct sched_param param { .sched_priority 99 };pthread_setschedparam(pthread_self(), SCHED_FIFO, param);while(1) {struct adc_sample sample;if(kfifo_get(adc_fifo, sample)) {process_sample(sample.value);}} }结论 两种架构描述本质上是 同一设计思想在不同硬件场景下的具体表现。是否添加额外的分层如Linux/FreeRTOS层取决于 硬件是否异构是否需要区分实时核与非实时核实时性要求级别硬实时需独立RTOS软实时可用Linux补丁系统复杂度简单设备可合并业务逻辑与驱动层 建议根据最终硬件选型参考以下决策树 #mermaid-svg-lNvNacPdaymgLQIY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-lNvNacPdaymgLQIY .error-icon{fill:#552222;}#mermaid-svg-lNvNacPdaymgLQIY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-lNvNacPdaymgLQIY .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-lNvNacPdaymgLQIY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-lNvNacPdaymgLQIY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-lNvNacPdaymgLQIY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-lNvNacPdaymgLQIY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-lNvNacPdaymgLQIY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-lNvNacPdaymgLQIY .marker.cross{stroke:#333333;}#mermaid-svg-lNvNacPdaymgLQIY svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-lNvNacPdaymgLQIY .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-lNvNacPdaymgLQIY .cluster-label text{fill:#333;}#mermaid-svg-lNvNacPdaymgLQIY .cluster-label span{color:#333;}#mermaid-svg-lNvNacPdaymgLQIY .label text,#mermaid-svg-lNvNacPdaymgLQIY span{fill:#333;color:#333;}#mermaid-svg-lNvNacPdaymgLQIY .node rect,#mermaid-svg-lNvNacPdaymgLQIY .node circle,#mermaid-svg-lNvNacPdaymgLQIY .node ellipse,#mermaid-svg-lNvNacPdaymgLQIY .node polygon,#mermaid-svg-lNvNacPdaymgLQIY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-lNvNacPdaymgLQIY .node .label{text-align:center;}#mermaid-svg-lNvNacPdaymgLQIY .node.clickable{cursor:pointer;}#mermaid-svg-lNvNacPdaymgLQIY .arrowheadPath{fill:#333333;}#mermaid-svg-lNvNacPdaymgLQIY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-lNvNacPdaymgLQIY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-lNvNacPdaymgLQIY .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-lNvNacPdaymgLQIY .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-lNvNacPdaymgLQIY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-lNvNacPdaymgLQIY .cluster text{fill:#333;}#mermaid-svg-lNvNacPdaymgLQIY .cluster span{color:#333;}#mermaid-svg-lNvNacPdaymgLQIY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-lNvNacPdaymgLQIY :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是 否 是 否 需要硬实时? 选择STM32MP157异构架构 界面复杂度高? 选择i.MX6ULL单核Linux 选择STM32F4裸机方案
http://www.w-s-a.com/news/621892/

相关文章:

  • 进网站备案md风格的wordpress主题
  • 如何建站网站十大免费建站app
  • 工作号做文案素材的网站晋城网站设计人
  • 建设部网站官网 施工许可怎样建网站 需要
  • 什么网站都能打开的浏览器同城小程序怎么推广
  • 在电脑上怎么做网站网址seo分析
  • 石家庄做网站网络公司电子商务营销推广
  • 网站开发 前端专做婚礼logo的网站
  • 同创企业网站建设拖拽建设网站源码
  • wordpress调用网站标题网站页面排版
  • 哈尔滨营销网站建设电子商城网站开发要多少钱
  • 免费织梦导航网站模板下载地址自己建站网站
  • 获取网站访客qq号码代码做抽奖网站违法吗
  • 湖南大型网站建设公司排名偷网站源码直接建站
  • 网站建设周期规划北京网站设计必看刻
  • 如何做自己的在线作品网站深圳网站设计公司的
  • 网站开发外包公司wordpress最简单模板
  • 湖南省建设人力资源网站wordpress主机pfthost
  • 淮安软件园哪家做网站各网站特点
  • 网站长尾关键词排名软件重庆荣昌网站建设
  • 建个商城网站多少钱茂名专业网站建设
  • 开通公司网站免费的网站app下载
  • 跨境电商网站模板wordpress壁纸
  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画
  • 怎么可以建网站小程序代理项目
  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus