#开心消消乐程序员回来加班#
嗳吖吖,看到小村民们着急的样子,小雪怪愧疚极了,这不,都面壁思过去了[污][污][污]!
小村民们不要怪罪雪怪吖[抱一抱][抱一抱][抱一抱]!
恳请小村民们稍安勿躁,再给技术小哥一点点时间吖,他们已经马不停蹄地抓紧修复啦!相信他们一定会以最快的速度处理好这次的“雪崩”哒[汪洋海蓝比心][汪洋海蓝比心][汪洋海蓝比心]!
我们一起为技术小哥加油吖[努力][努力][努力]!
#开心消消乐 崩了#☆#开心村日常#
嗳吖吖,看到小村民们着急的样子,小雪怪愧疚极了,这不,都面壁思过去了[污][污][污]!
小村民们不要怪罪雪怪吖[抱一抱][抱一抱][抱一抱]!
恳请小村民们稍安勿躁,再给技术小哥一点点时间吖,他们已经马不停蹄地抓紧修复啦!相信他们一定会以最快的速度处理好这次的“雪崩”哒[汪洋海蓝比心][汪洋海蓝比心][汪洋海蓝比心]!
我们一起为技术小哥加油吖[努力][努力][努力]!
#开心消消乐 崩了#☆#开心村日常#
今天是满课的一天:
思政课没有发什么什么有趣的事情 但是今天的思政课度过的格外快 以前真的很煎熬
体育场进行了体测 跳远和50米跑 跳远的时候好多人都围在一起看 超级尴尬 地吵架滑 很多人都摔倒了 然后我第一下也差点摔倒了 然后滑的特别远 176cm嘿嘿嘿 后面两次知道也跳不过 就放松跳了 我怕摔 我非常惜命
下午上课真的火急火燎的 本来说今天会停水的 然后就没有在宿舍上厕所 但是又特别特别着急 赶着去上课 然后在课上刚把书打开 发现了有一丝不对劲 带错书了u盘也没有带 真的是奔溃极了 每次上java课时间过的特别快 一直在不停的敲代码 时间就过去了 终于知道程序员为什么那么容易4️⃣了 真的哪里都痛
今天和室友一直在吵吵闹闹的 很开心但是我的嗓子真的好痛 要干了的感觉#考拉爱说话#
思政课没有发什么什么有趣的事情 但是今天的思政课度过的格外快 以前真的很煎熬
体育场进行了体测 跳远和50米跑 跳远的时候好多人都围在一起看 超级尴尬 地吵架滑 很多人都摔倒了 然后我第一下也差点摔倒了 然后滑的特别远 176cm嘿嘿嘿 后面两次知道也跳不过 就放松跳了 我怕摔 我非常惜命
下午上课真的火急火燎的 本来说今天会停水的 然后就没有在宿舍上厕所 但是又特别特别着急 赶着去上课 然后在课上刚把书打开 发现了有一丝不对劲 带错书了u盘也没有带 真的是奔溃极了 每次上java课时间过的特别快 一直在不停的敲代码 时间就过去了 终于知道程序员为什么那么容易4️⃣了 真的哪里都痛
今天和室友一直在吵吵闹闹的 很开心但是我的嗓子真的好痛 要干了的感觉#考拉爱说话#
【软件工程:嵌入式软件的特点◎Gjb5000】
https://t.cn/A6WTyiar
原创 软件工程之思
(摘要:关于中断重入,如果不得不使用可嵌套中断,程序员必须要确认所有在中断服务程序运行期间被调用的函数都是可重入的,否则程序可能会崩溃。
本人的经验,中断程序使用的全局变量,要可重入,不要使用不同的比例尺表征同一个物理量。
嵌入式软件的发布也有自己的特点,它可以使用以下3种方法进行发布:使用ROM 来保存软件的代码,使得代码作为硬件的一部分。)
嵌入式软件具有以下特点:
硬件初始化
嵌入式软件一旦收到有效的复位信号后,就会运行存储在程序空间的初始化程序,对各种硬件资源进行初始化。
硬件控制
嵌入式软件经常需要直接控制硬件外设。对于硬件控制可以分为端口映射的(I/O与存储器独立编址)和内存映射(I/O与存储器统一编址)两种方式。对于端口映射的方式,开发人员只能使用汇编语言来实现硬件控制,这是因为C语言没有真正的"端口"概念。而对于内存映射的方式,只需对I/O进行地址的绝对定位即可实现硬件控制。而C语言编译器一般都提供针对特定处理器的专有函数。
位操作
嵌入式软件经常需要操作硬件寄存器内的某个二进制位。通常的操作方法是"读﹣改﹣写",即读出整个寄存器值,改变二进制位,然后把整个值写回到设备寄存器中。为了避免读操作可能会引起一些副作用(例如清除了没来得及处理的中断),可以使用影子寄存器(Shadow Register)。
固态化存储
嵌入式软件一般都固化在存储器芯片或处理器中,而不是存储于磁盘等载体中。
高实时性
嵌入式软件需要对重要性各不相同的任务进行合理调度,以确保每个任务都能够及时执行。
代码执行速度和代码效率更为关键
大多数嵌入式软件都会收到时间和空间的限制,所以代码执行速度和代码效率就成为关键因素。开发人员为了节约每一点存储空间与执行时间,能使用指针就不要直接进行函数调用,如果C语言不能满足要求,就要使用汇编语言来实现。
中断与中断服务程序
中断是嵌入式软件无法回避的一种程序处理方式,只有合理地处理中断,嵌入式软件才能进行合理地调度,以完成不同的任务。
可嵌套的中断与可重入性
嵌入式软件中的中断是有优先级高低之分的。如果高优先级的中断可以中断低优先级中断而得到优先响应,这就是可嵌套的中断。可嵌套的中断会使得编程更为复杂,应当尽可能避免使用。
如果不得不使用可嵌套中断,程序员必须要确认所有在中断服务程序运行期间被调用的函数都是可重入的,否则程序可能会崩溃。
测量执行时间
在许多嵌入式软件中,程序员需要精确了解程序执行时间,以避免出现由于执行时间太长而造成错误。这就需要对程序执行时间进行精准测量。
用汇编语言编写的程序可以为每条指令计算确切的执行时间,而用C语言编写的程序就没有什么简单的方法能计算出其确切的执行时间。
测量执行时间最有效的方法是使用定时器。
发布方法
嵌入式软件的发布也有自己的特点,它可以使用以下3种方法进行发布:
使用ROM 来保存软件的代码,使得代码作为硬件的一部分
在嵌入式系统内只存放启动装载程序,当系统开始运行后再下载最新的软件映像。
在嵌入式系统的处理器的程序存储器的特殊部分存放具有IP的代码,用户可以在加载了代码的处理器上进行二次开发,加入自己的代码、调用已加载的代码,完成特殊的功能而不需进行编程。
IAP功能
嵌入式系统具有IAP功能意味着它能在系统处于工作状态时进行重新编程,再也不需要特殊电源提供编程电压。IAP的实现一般需要3个独立的程序,即引导装载程序、FLASH编程算法(对FLASH的擦除和写入的程序)、最新软件映像的下载程序。
这正是:
嵌入软件有特点,因其必须控硬件
了解特点有好处,编程方知咋着手
参考书目:嵌入式系统的设计与开发,作者:陈连坤,出版社:清华大学出版社 北京交通大学出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000培训、内外部评价以及软件过程改进、软件工程能力提升的研究工作。
namo-amitabhaya!
https://t.cn/A6WTyiar
原创 软件工程之思
(摘要:关于中断重入,如果不得不使用可嵌套中断,程序员必须要确认所有在中断服务程序运行期间被调用的函数都是可重入的,否则程序可能会崩溃。
本人的经验,中断程序使用的全局变量,要可重入,不要使用不同的比例尺表征同一个物理量。
嵌入式软件的发布也有自己的特点,它可以使用以下3种方法进行发布:使用ROM 来保存软件的代码,使得代码作为硬件的一部分。)
嵌入式软件具有以下特点:
硬件初始化
嵌入式软件一旦收到有效的复位信号后,就会运行存储在程序空间的初始化程序,对各种硬件资源进行初始化。
硬件控制
嵌入式软件经常需要直接控制硬件外设。对于硬件控制可以分为端口映射的(I/O与存储器独立编址)和内存映射(I/O与存储器统一编址)两种方式。对于端口映射的方式,开发人员只能使用汇编语言来实现硬件控制,这是因为C语言没有真正的"端口"概念。而对于内存映射的方式,只需对I/O进行地址的绝对定位即可实现硬件控制。而C语言编译器一般都提供针对特定处理器的专有函数。
位操作
嵌入式软件经常需要操作硬件寄存器内的某个二进制位。通常的操作方法是"读﹣改﹣写",即读出整个寄存器值,改变二进制位,然后把整个值写回到设备寄存器中。为了避免读操作可能会引起一些副作用(例如清除了没来得及处理的中断),可以使用影子寄存器(Shadow Register)。
固态化存储
嵌入式软件一般都固化在存储器芯片或处理器中,而不是存储于磁盘等载体中。
高实时性
嵌入式软件需要对重要性各不相同的任务进行合理调度,以确保每个任务都能够及时执行。
代码执行速度和代码效率更为关键
大多数嵌入式软件都会收到时间和空间的限制,所以代码执行速度和代码效率就成为关键因素。开发人员为了节约每一点存储空间与执行时间,能使用指针就不要直接进行函数调用,如果C语言不能满足要求,就要使用汇编语言来实现。
中断与中断服务程序
中断是嵌入式软件无法回避的一种程序处理方式,只有合理地处理中断,嵌入式软件才能进行合理地调度,以完成不同的任务。
可嵌套的中断与可重入性
嵌入式软件中的中断是有优先级高低之分的。如果高优先级的中断可以中断低优先级中断而得到优先响应,这就是可嵌套的中断。可嵌套的中断会使得编程更为复杂,应当尽可能避免使用。
如果不得不使用可嵌套中断,程序员必须要确认所有在中断服务程序运行期间被调用的函数都是可重入的,否则程序可能会崩溃。
测量执行时间
在许多嵌入式软件中,程序员需要精确了解程序执行时间,以避免出现由于执行时间太长而造成错误。这就需要对程序执行时间进行精准测量。
用汇编语言编写的程序可以为每条指令计算确切的执行时间,而用C语言编写的程序就没有什么简单的方法能计算出其确切的执行时间。
测量执行时间最有效的方法是使用定时器。
发布方法
嵌入式软件的发布也有自己的特点,它可以使用以下3种方法进行发布:
使用ROM 来保存软件的代码,使得代码作为硬件的一部分
在嵌入式系统内只存放启动装载程序,当系统开始运行后再下载最新的软件映像。
在嵌入式系统的处理器的程序存储器的特殊部分存放具有IP的代码,用户可以在加载了代码的处理器上进行二次开发,加入自己的代码、调用已加载的代码,完成特殊的功能而不需进行编程。
IAP功能
嵌入式系统具有IAP功能意味着它能在系统处于工作状态时进行重新编程,再也不需要特殊电源提供编程电压。IAP的实现一般需要3个独立的程序,即引导装载程序、FLASH编程算法(对FLASH的擦除和写入的程序)、最新软件映像的下载程序。
这正是:
嵌入软件有特点,因其必须控硬件
了解特点有好处,编程方知咋着手
参考书目:嵌入式系统的设计与开发,作者:陈连坤,出版社:清华大学出版社 北京交通大学出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000培训、内外部评价以及软件过程改进、软件工程能力提升的研究工作。
namo-amitabhaya!
✋热门推荐