Scroll Top
19th Ave New York, NY 95822, USA

CS代写|嵌入式软件代写Embedded Software代考|ECE3140 Migrating Your Software to a New Processor Architecture

如果你也在 怎样代写嵌入式软件Embedded Software ECE3140这个学科遇到相关的难题,请随时右上角联系我们的24/7代写客服。嵌入式软件Embedded Software是计算机软件,是为控制通常不被认为是计算机的机器或设备而编写的,通常被称为嵌入式系统。它通常是针对其运行的特定硬件而专门设计的,并且有时间和内存限制。这个术语有时可与固件互换使用。

嵌入式软件Embedded SoftwareSMSC LAN91C110(SMSC 91x)芯片的特写,这是一个嵌入式以太网芯片一个精确而稳定的特点是,没有或没有所有的嵌入式软件功能是通过人的界面启动/控制的,而是通过机器界面。制造商在汽车、电话、调制解调器、机器人、电器、玩具、安全系统、心脏起搏器、电视和机顶盒以及数字手表等电子产品中建立嵌入式软件。 这种软件可以非常简单,例如在一个具有几千字节内存的8位微控制器上运行的照明控制,其适当的处理复杂性水平由大概正确计算框架(一种基于随机算法的方法)决定。然而,在路由器、光网络元件、飞机、导弹和过程控制系统等应用中,嵌入式软件可以变得非常复杂 。

嵌入式软件Embedded Software代写,免费提交作业要求, 满意后付款,成绩80\%以下全额退款,安全省心无顾虑。专业硕 博写手团队,所有订单可靠准时,保证 100% 原创。最高质量的嵌入式软件Embedded Software作业代写,服务覆盖北美、欧洲、澳洲等 国家。 在代写价格方面,考虑到同学们的经济条件,在保障代写质量的前提下,我们为客户提供最合理的价格。 由于作业种类很多,同时其中的大部分作业在字数上都没有具体要求,因此嵌入式软件Embedded Software作业代写的价格不固定。通常在专家查看完作业要求之后会给出报价。作业难度和截止日期对价格也有很大的影响。

同学们在留学期间,都对各式各样的作业考试很是头疼,如果你无从下手,不如考虑my-assignmentexpert™!

my-assignmentexpert™提供最专业的一站式服务:Essay代写,Dissertation代写,Assignment代写,Paper代写,Proposal代写,Proposal代写,Literature Review代写,Online Course,Exam代考等等。my-assignmentexpert™专注为留学生提供Essay代写服务,拥有各个专业的博硕教师团队帮您代写,免费修改及辅导,保证成果完成的效率和质量。同时有多家检测平台帐号,包括Turnitin高级账户,检测论文不会留痕,写好后检测修改,放心可靠,经得起任何考验!

想知道您作业确定的价格吗? 免费下单以相关学科的专家能了解具体的要求之后在1-3个小时就提出价格。专家的 报价比上列的价格能便宜好几倍。

CS代写|嵌入式软件代写Embedded Software代考|ECE3140 Migrating Your Software to a New Processor Architecture

CS代写|嵌入式软件代写Embedded Software代考|Migrating Your Software to a New Processor Architecture

A few years ago, the basic decision involved in developing a high-end embedded system – “which processor should I use?”-was fairly easy to answer. It could, more often than not, be translated into “which $68 \mathrm{~K}$ family device should I choose?” Things have changed. Freescale offers two other architectures for high-end applications: PowerPC and ColdFire. At the same time, a plethora of other 32-bit devices compete for attention, all with strong differentiating factors that can make them an attractive choice.

Having chosen the processor for the next project, the next issue to address is the development of new expertise in programming the device and porting existing code. There are three major topics to cover:

  • Avoiding target-specific code
  • Real-time operating system (RTOS) issues
  • Open standards and how they aid target processor migration
    Target Specifics
    The primary aspects of an embedded application, which have a degree of target specificity, are the code, data, and real-time structure.

Code
Code written in $\mathrm{C}$ or $\mathrm{C}++$ will itself tend to be portable. The only real concern is the precise dialect of the language that has been used. If the change of processor necessitates a change of compiler supplier, there may be some issues. In particular, extensions to the language (e.g., interrupts) may be implemented differently or may include a proprietary set of keywords.

A nonlinear change is likely in the runtime performance of the code. Assuming, for example, that the new chip is supposed to deliver a $2 \mathrm{X}$ performance increase, this will not be the case with all language constructs; some will be even faster than this, others will benefit less from the higher processor performance. Some architectures lend themselves more readily to a particular program structure or language feature.
Assembler code will inevitably require a rewrite. Even the migration from $68 \mathrm{~K}$ to ColdFire requires a very careful review of the code to ensure that it is confined to the instruction subset supported by these devices. This is an ideal time to review whether some of the assembler code can be replaced by a (portable) high-level language implementation.

CS代写|嵌入式软件代写Embedded Software代考|Data and Variables

Since the definition of the storage allocation for data types in $\mathrm{C} / \mathrm{C}++\mathrm{is}$, by definition, target-specific, a change in this area may be anticipated. For example, an int may be allocated 32 bits instead of 16 bits. This is quite likely to affect the performance and functionality of the code as well as the RAM requirements of the application, which may increase or decrease unexpectedly. In practice, the storage allocation schemes for most 32-bit target compilers are essentially identical, so little or no difficulty should arise.
To completely eliminate problems, some engineers implement a defensive strategy, which renders their code more portable. This approach is very simple: use typedef statements to implement some bit-size-specific data types in unsigned and signed variants: U8, U16, $\mathrm{U} 32, \mathrm{~S} 8, \mathrm{~S} 16$, and S32. Porting the code to a new device and/or compiler is simply a matter of making a slight edit to a header file.
Structure layout and alignment may change, as will bit field allocation. This problem is unlikely to be encountered, because it is bad practice to design code that relies on these factors.
According to the language definitions, enum variables should be allocated the same space as int. However, many compilers optimize the space, allocating 1, 2, or 4 bytes, depending upon the range of values required. Again, this could result in an unexpected change in the performance or memory requirements for an application.
Native compilers, used for the development of desktop applications, are solely focused on the generation of fast code, at the expense of compactness if necessary. For embedded systems software development, such an assumption about a user’s requirements would be inappropriate. For a program to achieve maximum speed, data must be laid out in memory such that it can be accessed efficiently. This necessitates waste; extra bytes are added for “padding” to facilitate the correct alignment. Cross-compilers generally have a facility to optionally pack data-i.e., they eliminate the padding and generate any extra code that is required to access the data. This may be implemented differently for a different processor, leading to code incompatibility and an increase or decrease in memory requirements.

CS代写|嵌入式软件代写Embedded Software代考|ECE3140 Migrating Your Software to a New Processor Architecture

嵌入式软件代写

CS代写|嵌入式软件代写EMBEDDED SOFTWARE代 考|MIGRATING YOUR SOFTWARE TO A NEW PROCESSOR ARCHITECTURE

几年前,开发高端嵌入式系统所涉及的基本决策一—“我应该使用哪种处理器? ”一一相当容易回答。它通常可以被翻译成“which 68 K我应该选择家 庭设备吗? ”事情变了。飞思卡尔为高端应用提供另外两种架构:PowerPC 和 ColdFire。与此同时,许多其他 32 位设备也在争夺注意力,它们都具 有强大的差异化因素,因此成为有吸引力的选择。
为下一个项目选择了处理器后,下一个要解决的问题是在设备编程和移植现有代码方面开发新的专业知识。涵盖三个主要主题:

  • 避免特定于目标的代码
  • 实时操作系统 $R T O S$ 问题
  • 开放标准及其如何帮助目标处理器迁移 目标特性
    具有一定程度目标特性的嵌入式应用的主要方面是代码、数据和实时结构。
    代码
    代码写在 $\mathrm{C}$ 或者 $\mathrm{C}++$ 本身将倾向于便携。唯一真正关心的是所使用语言的确切方言。如果更改处理器需要更改编译器供应商,则可能会出现一 些问题。特别是语言的扩展e.g.,interrupts可能以不同的方式实现,或者可能包含一组专有的关键字。
    代码的运行时性能可能会发生非线性变化。例如,假设新芯片应该提供 $2 \mathrm{X}$ 性能提升,并非所有语言结构都是如此;有些甚至比这更快,有些则从 更高的处理器性能中获益较少。一些体系结构更容易适应特定的程序结构或语言特性。
    汇编代码将不可避免地需要重写。甚至从迁移 68 K到 ColdFire 需要对代码进行非常仔细的审查,以确保它仅限于这些设备支持的指令子集。这是 审查某些汇编代码是否可以被替换的理想时机portable 高级语言实现。

CS代写|嵌入式软件代写EMBEDDED SOFTWARE代 考|DATA AND VARIABLES

由于数据类型的存储分配定义在 $\mathrm{C} / \mathrm{C}++\mathrm{is}$ ,根据定义,目标特定,可以预期该领域的变化。例如,一个 int 可能被分配 32 位而不是 16 位。这很 可能会影响代码的性能和功能以及应用程序的 RAM 要求,这可能会意外增加或减少。在实践中,大多数 32 位目标编译器的存储分配方案本质上是 相同的,因此应该很少或不会出现困难。
为了彻底消除问题,一些工程师实施了一种防御策略,使他们的代码更具可移植性。这种方法非常简单: 使用 typedef 语句在无符号和有符号变体 中实现一些特定于位大小的数据类型:U8、U16、U32, S8, S16和 S32。将代码移植到新设备和/或编译器只是对头文件进行轻微编辑的问题。 结构布局和对齐方式可能会发生变化,位域分配也会发生变化。这个问题不太可能遇到,因为设计依赖于这些因素的代码是不好的做法。 根据语言定义,enum 变量应分配与 int 相同的空间。但是,许多编译器优化空间,分配 $1 、 2$ 或 4 个字节,具体取决于所需值的范围。同样,这可 能会导致应用程序的性能或内存需求出现意外变化。
用于开发桌面应用程序的本机编译器只专注于快速代码的生成,必要时会粞牲紧湊性。对于嵌入式系统软件开发,这种关于用户需求的假设是不 合适的。为了使程序达到最大速度,数据必须在内存中布局,以便可以有效地访问它。这需要浪费;为“填充”添加了额外的字节以促进正确对
齐。交叉编译器通常具有选择性地打包数据的工具一一即,它们消除填充并生成访问数据所需的任何额外代码。对于不同的处理器,这可能会以不 同的方式实现,从而导致代码不兼容以及内存需求的增加或减少。

CS代写|嵌入式软件代写Embedded Software代考

CS代写|嵌入式软件代写Embedded Software代考 请认准UprivateTA™. UprivateTA™为您的留学生涯保驾护航。

微观经济学代写

微观经济学是主流经济学的一个分支,研究个人和企业在做出有关稀缺资源分配的决策时的行为以及这些个人和企业之间的相互作用。my-assignmentexpert™ 为您的留学生涯保驾护航 在数学Mathematics作业代写方面已经树立了自己的口碑, 保证靠谱, 高质且原创的数学Mathematics代写服务。我们的专家在图论代写Graph Theory代写方面经验极为丰富,各种图论代写Graph Theory相关的作业也就用不着 说。

线性代数代写

线性代数是数学的一个分支,涉及线性方程,如:线性图,如:以及它们在向量空间和通过矩阵的表示。线性代数是几乎所有数学领域的核心。

博弈论代写

现代博弈论始于约翰-冯-诺伊曼(John von Neumann)提出的两人零和博弈中的混合策略均衡的观点及其证明。冯-诺依曼的原始证明使用了关于连续映射到紧凑凸集的布劳威尔定点定理,这成为博弈论和数学经济学的标准方法。在他的论文之后,1944年,他与奥斯卡-莫根斯特恩(Oskar Morgenstern)共同撰写了《游戏和经济行为理论》一书,该书考虑了几个参与者的合作游戏。这本书的第二版提供了预期效用的公理理论,使数理统计学家和经济学家能够处理不确定性下的决策。

微积分代写

微积分,最初被称为无穷小微积分或 “无穷小的微积分”,是对连续变化的数学研究,就像几何学是对形状的研究,而代数是对算术运算的概括研究一样。

它有两个主要分支,微分和积分;微分涉及瞬时变化率和曲线的斜率,而积分涉及数量的累积,以及曲线下或曲线之间的面积。这两个分支通过微积分的基本定理相互联系,它们利用了无限序列和无限级数收敛到一个明确定义的极限的基本概念 。

计量经济学代写

什么是计量经济学?
计量经济学是统计学和数学模型的定量应用,使用数据来发展理论或测试经济学中的现有假设,并根据历史数据预测未来趋势。它对现实世界的数据进行统计试验,然后将结果与被测试的理论进行比较和对比。

根据你是对测试现有理论感兴趣,还是对利用现有数据在这些观察的基础上提出新的假设感兴趣,计量经济学可以细分为两大类:理论和应用。那些经常从事这种实践的人通常被称为计量经济学家。

Matlab代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中,其中问题和解决方案以熟悉的数学符号表示。典型用途包括:数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发,包括图形用户界面构建MATLAB 是一个交互式系统,其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题,尤其是那些具有矩阵和向量公式的问题,而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问,这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展,得到了许多用户的投入。在大学环境中,它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域,MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要,工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数(M 文件)的综合集合,可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。

Related Posts

Leave a comment