--
痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v4.0.0)发布过去4个多月了,期间痞子衡也做过两个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新大版本v5.0.0,这次更新主要是想和大家特别聊聊恩智浦新一代 i.MXRT 旗舰 RT1180。
-- v5.0.0
Features:
1. 支持i.MXRT118x
-- v4.1.1
Bufixes:
1. [RTyyyy] 在DCD Desc窗口输入内容不生效
-- v4.1.0
Features:
1. 支持MKE13Z/14Z/15Z/17Z
2. 支持MKW45/K32W148
3. 支持来自ISSI和Winbond的Octal Flash
如果你经常登录恩智浦官网,你应该可以注意到 i.MXRT 家族已经预告了新一代旗舰 RT1180,不过目前还没有进入正式产品阶段,应该在下半年可以和大家见面。
RT1180 与上一代旗舰 RT1170 一样是异构双核产品,不过采用的是 CM7+CM33 的组合。看到 CM33 核你应该就能猜到 RT1180 强化了安全,是的,RT1180 是 i.MXRT 家族里第一个完整集成 EdgeLock® Secure Enclave 技术的型号。
其实 RT1180 最主要的特色是强化了网络能力,这点甚至可以说是 RT1180 存在的主要意义,RT1180 是 i.MXRT 家族里第一颗集成 TSN Switch 的型号(区别于 RT1170 只是 TSN endpoint),它非常适合工业 4.0 设备的主控要求。
简单一句话概括就是 RT1180 = RT1170 + 增强以太网(TSN Switch, EtherCAT Device)+ 增强安全架构(EdgeLock)- 多媒体支持(GPU+CSI+Display) 。
回到 MCUBootUtility 对 RT1180 的支持,其实使用体验上大家感觉不到差异,不过工具代码开发里改动还是不小的,主要就是 RT1180 的启动头不再是 RT1170/RT10xx 上那一套 IVT 设计了,而是切换到全新的 Container 设计。这个 Container 设计源自 EdgeLock,可以支持多份 image。
v5.0 并没有实现对 RT1180 的全功能支持,目前只做了对 FlexSPI 启动设备的一键下载、编程器模式下载以及 eFuse 区域的读写访问(测试基于的是 A0 芯片)。软件后续的版本会陆续增加更多特性。
至此,这次更新的主要特性便介绍完了。MCUBootUtility项目地址如下。虽然当前版本(v5.0.0)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?
- 地址1: http://github.com/nxp-mcuxpresso/mcu-boot-utility
- 地址2: http://github.com/JayHeng/NXP-MCUBootUtility
- 地址3: http://gitee.com/jayheng/NXP-MCUBootUtility
文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。
最后欢迎关注痞子衡个人微信公众号【痞子衡嵌入式】,一个专注嵌入式技术的公众号,跟着痞子衡一起玩转嵌入式。
衡杰(痞子衡),目前就职于某知名外企半导体公司MCU系统部门,担任嵌入式系统应用工程师。
专栏内所有文章的转载请注明出处:http://www.cnblogs.com/henjay724/
与痞子衡进一步交流或咨询业务合作请发邮件至 hengjie1989@foxmail.com
可以关注痞子衡的Github主页 http://github.com/JayHeng,有很多好玩的嵌入式项目。
关于专栏文章有任何疑问请直接在博客下面留言,痞子衡会及时回复免费(划重点)答疑。
痞子衡邮箱已被私信挤爆,技术问题不推荐私信,坚持私信请先扫码付款(5元起步)再发。
1、特征分析控制led亮灭:通过对一个特征值写来实现; 获取led状态:通过对一个特征值读来实现。2、控制led亮灭服务要实现特征值的读写,必须要有服务,特征声明,特征值声明。3、属性表定义staticgattAttribute_tledAttrTbl[]= { //服务,主要服务 { {ATT_BT_UUID_SIZE,primaryServiceUUID},/*type*/ GATT_PERMIT_READ,/*permissions*/ 0,/*handle*/ (uint8*)&ledService/*pValue*/ }, //特征声明 { {ATT_BT_UUID_SIZE,characterUUID}, GATT_PERMIT_READ, 0, &ledProps }, //特征值声明 { {ATT_BT_UUID_SIZE,ledcharUUID}, GATT_PERMIT_READ|GATT_PERMIT_WRITE,//可读可写 0, ledchar }, //特征描述(非必须) { {ATT_BT_UUID_SIZE,charUserDescUUI
今天就和大家分享另一款免费开源的通用数据库管理和开发工具DBeaver。DBeaver介绍DBeaver适用于开发人员,SQL程序员,数据库管理员和分析人员的免费多平台数据库工具。支持任何具有JDBC驱动程序的数据库(基本上意味着-ANY数据库)。EE版本还支持非JDBC数据源(MongoDB,Cassandra,Couchbase,Redis,BigTable,DynamoDB等)。DBeaver功能具有很多功能,包括元数据编辑器,SQL编辑器,丰富的数据编辑器,ERD,数据导出/导入/迁移,SQL执行计划等。基于Eclipse平台。使用插件架构,并为以下数据库提供附加功能:MySQL/MariaDB,PostgreSQL,Greenplum,Oracle,DB2LUW,Exasol,SQLServer,Sybase/SAPASE,SQLite,Firebird,H2,HSQLDB,Derby,Teradata,Vertica,Netezza,Informix等Github:https://github.com/dbeaver/dbeaverDBeaver安装环境要求Java(JDK
一、pom<dependencies> <!--activemq--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.9</version> </dependency> <!--activeMQ对jms的支持,整合spring和activemq--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.23.RELEASE</version> </dependency> <!--activeMQ所需要的pool--> <dependen
简介SpringBoot和Vue,前后端分离,我们开源一套漂亮的代码和一套整洁的代码规范,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,热爱生活。SmartAdmin让你从认识到忘不了,绝对是你最想要的!技术体系前端:Vue+Vue-Router+Vuex+ViewUI+vue-enum后端:SpringBoot2+Mybatis-plus+jwt+druid+mysql前端代码规范smart-front-standard-guide基于阿里规范之上的后端规范smart-backend-standard-guide演示图前端特点高质量的代码、代码结构、和代码注释漂亮的UI,菜单栏、标签页,体验、交互更好用的员工、部门、角色、菜单管理等等优化基于Keepalive的标签页,做到标签页该缓存的时候缓存,比如左右切换等,不该缓存的时候不缓存,比如新建,表单提交结束等前端常量维护:vue-enum,拒绝出现魔法数字,代码不可维护的现象全新的基于前端的权限设计(忘掉传统的权限设计吧,已经不适合这个前端时代)基于websocket的在线人数
作者:李超 曾在跟谁学负责直播平台技术的管理工作;在新东方集团任职音视频技术专家; 在音视频会议行业工作6年,在线教育行业工作4年,一直聚焦在多人互动实时通讯领域。 最近经常遇到一些同学问我如何学习音视频,怎样才能快速上手?还有一些对音视频不了解的同学问我该不该学习音视频?作为一名音视频行业的10年老兵,我有一些思考分享给大家,希望能对你有所帮助。大背景2020年真的是一个多灾、多难的年份,冠状病毒的爆发使得本该举国欢庆的春节变得尤为沉闷。不能走亲,不能访友,除了呆在家里,那儿也不能去。正如张文宏大夫向我们劝解的,我们要将病毒给闷死。大家都盼着疫情可以赶紧过去,早点恢复正常的生活。但从目前的情况看,短时间内这个疫情是很难结束的。这不刚从中国消停了一阵,又跑到海外大爆发了,谁知道它会不会又转回来呢?可我们还得生活!还得工作!还要学习!好时代幸运的是我们生活在一个好时代,科技在这几十年得到了迅猛的发展。在疫情肆虐的当下,我们可以通过音视频会议进行远程办公;我们还有在线教育系统,对于大多数学生来说,完全可以在家进行在线学习。从某个角度看,这次疫情虽然导致很多行业处于崩溃边缘,但也催生了新的行
现实世界中的导航要求机器人在陌生的动态环境中操作,并与人类共享空间。环游人类特别困难,因为它需要预测他们的未来运动,这可能会非常具有挑战性。我们提出了一种围绕人类导航的新颖框架,该框架将基于学习的感知与基于模型的最佳控制相结合。具体来说,我们的训练基于卷积神经网络(CNN)的感知模块,该模块将机器人的视觉输入映射到航路点或下一个所需状态。然后,将该航路点输入到计划和控制模块中,以将机器人安全有效地传送到目标。为了训练CNN,我们为在人类在场的情况下自动进行机器人导航贡献了逼真的基准测试数据集。使用从我们真实感数据集渲染的图像上的监督学习来训练CNN。所提出的框架学会仅基于单眼RGB图像来预期和响应人们的运动,而无需明确预测未来的人类运动。我们的方法可以很好地推广到模拟和现实环境中看不见的建筑物和人类。此外,我们的实验表明,与单纯基于学习的方法相比,将基于模型的控制与学习相结合可带来更好,更有效的数据导航行为。本项目的网站上提供描述了我们的方法和实验的视频。标题:VisualNavigationAmongHumanswithOptimalControlasaSupervisor原文作者:
部署环境3台服务器:192.168.58.201192.168.58.203192.168.58.205,部署地址为/opt/soft/,ES版本为5.4.3组件准备下载ElasticSearchwgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.tar.gz复制编译hanlp-extgitclonehttps://github.com/hualongdata/hanlp-ext.git cdhanlp-ext gradle-pes-pluginjarbuildPluginZip #获得插件:hanlp-ext/es-plugin/distributions/elasticsearch-hanlp-5.4.3.zip复制HanLP-1.3.4-offline-tar.gz下载地址:https://pan.baidu.com/s/1o8Rri0y安装ElasticSearch解压hosts=(192.168.58.201192.168.58.203192.168.58.205) inst
虚拟机(VirtualMachine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。VMware是虚拟机软件中的佼佼者。虚拟机的特性:1、不需要分区或重开机就能在同一台计算机上使用两种以上的操作系统。2、完全隔离了另外的操作系统,并且保护不同类型的操作系统的操作环境以及所有安装在操作系统上面的应用软件和资料。3、可在不同的操作系统之间能相互操作,包括网络、周边、文件共享以及复制、粘贴的多种功能。4、具有复原(Undo)功能。5、还能够随时设定、修改操作系统的操作环境,如:内存、磁盘空间、周边的设备等等。软件名称:VMwareWorkstationPro12.5.9使用平台:Windows获取方式:在公众号后台回复『122』或『VMware』。VMware其他版本的安装教程以及使用VMware安装系统的教程请查看软件目录。安装教程①下载并解压VMware安装包。②双击安装程序安装VMware。③接收协议并下一步。 ④建议更改安装位置到其他盘。⑤取消勾选自动更新。⑥点击输入许可证。⑦从key.txt中选择该版本任意一个许可证,复制粘贴到输入框中。⑧安装完
【导读】:Semaphore是一个国外持续集成/持续部署方案服务商。Semaphore称自己在过去三年对其开发者用户进行调查,调查他们在开发商业项目时一般都使用哪些语言。这些数据基于成千上万个在Semaphore上进行测试和部署的项目的人。所以现在这是迄今为止关于商业项目中最受欢迎的开源编程语言的全面报告。//注:本文并非编程语言排行榜,忽略顺序别问我们为什么没有XXX编程语言,这不是我们发起调查的;ElixirElixir是一个相当年轻的语言,自然几乎所有的项目都是基于最新版本的。40%的项目使用的是今年发布的Elixir1.4及以上版本,该版本于2016年1月1日发布。GoGo的发布政策规定,支持Go的每个主要的版本。因此,使用Go的商业项目中有60%正在使用官方支持的版本。Java大多数项目都基于Java8。Java9于17年9月发布,但现在的项目似乎没有采用。甲骨文公司宣布,将长期支持Java8版本,甚至到2022年,而Java9将不会被指定为长期支持的版本。Java18.9LTS计划于2018年9月发布。Node.js在过去的几年中,Node.js运行时发生过很多变化,最终整
背景:期货的多头、空头 买涨叫做期货多头,买跌叫做期货空头。也就是说,多头认为期货合约的价格会上涨,所以会买进。相反,空头认为期货合约的价格高了,以后会下跌。 期货空头:认为未来期货合约会下跌,投资者则向交易所借入某种期货合约在市场上卖掉,等待该产品真的下跌之后,再在市场上低价买进,还给交易所,从而是通过先高价卖出,后低价买进的方法赚取中间差价。 期货多头:认为未来某个期货合约会上涨,投资者就可以买入三个月后的该产品期货。如果价格真的上涨了,那么卖掉手里的期货,主要是使用先低价买进,后高价卖出的方法,来达到赚取收益的目的。 一、转换因子 1.1用转换因子,计算债券的全价(现金价格/dirtyprice) 计算实例: 1.2如何确认转换因子 计算示例-剩余期限刚好是6个月的整数倍: &nbs
原文在此:http://www.cnblogs.com/mddblog/p/4951650.html 一、Thumb指令与ARM指令 Thumb指令为16位,因此存储代码的密度高,节省存储空间。但是功能不全,它只是ARM指令(32位)集的补充,是ARM指令集下的一个子集。在初级阶段我们不需要了解这些知识,只要有个概念知道有这么个东西就可以。 二、ARM的寄存器初步了解 R0-R3: 用于函数参数及返回值的传递,超过4个参数,其它参数存在栈中,在ARM中栈是向下生长的,R0还可以作为返回值。 R4-R6,R8, R10-R11: 没有特殊规定,就是普通的通用寄存器 R7: 栈帧指针,指向母函数与被调用子函数在栈中的交界。 R9: 在iOS3.0被操作系统保留 R12: 内部过程调用寄存器,动态链接时会用到,不必深究 R13: SP(stackpointer),是栈顶指针 R14: LR(linkregister),存
1.在步伐方面,重点在于启动,有一个小的跳步,判断好方向,用力登地后第一步要小,找准方向。尽量步伐到位再击球。 2.任何时候不要抡大臂击球,要用手腕发力。之后再练习借力,想提高杀球速度,加大手腕的力度。 3.击球越早越好,击球点越高越好,击球动作要小,只甩手腕,才能保证速度。要有往前扑的意识,时刻盯着求,做好预判,提前过去。 4.重心压低,平抽接杀尽量回到后场。重心压低后,能不挑球就不挑,尽量用正反手挡回去。 5.封网不要离网太近,反应不及时的球就挡一下,防止下网,封网要远近结合。 6.击球时,有时间就观察对方站位,打四方球,能够掉前场,或打到后场(尽量低,但不要被挡住),有中场高球再杀。不好打的后场球,就别想那么多了,打到对方后场角处即可。 7.注意练习杀球角度,杀两边。 8.打球要专注严肃。 9.永远别想着,一拍打死别人,要抓启动。 2019.9.8 今天在调前场和后场方面有很大进步,注意保持,要结合好,但注意两点: 1)吊球后(尤其是滑板)要赶紧回位,回到后场中间位置。2)拉吊结合,当对方熟悉去接后场后,就不要再往后打了,最好的方式是先扣杀一个(当然是机会好的时候,
网上找到的,对WindowsHeap有详细的定义。 1//filewinheap.h 2typedefvoidVOID; 3typedefunsigned__int8UINT8; 4typedefunsigned__int16UINT16; 5typedef__int32LONG32; 6typedefunsigned__int32ULONG32; 7typedefunsigned__int64UINT64; 8 9//pseudostruct,forthePEBheaplist 10structHEAPTABLE{ 11struct_HEAP*list[16]; 12}; 13 14struct_LIST_ENTRY{ 15struct_LIST_ENTRY*FLink; 16struct_LIST_ENTRY*BLink; 17}; 18 19union_SLIST_HEADER{ 20struct_LIST_ENTRYle; 21}; 22 23typedefstruct_HEAP_ENTRY//7elements,0x8bytes(sizeof) 24{ 25//union/
对于Android开发者来说,如果没有adb的帮助,那肯定就跟少了一只手那样别扭。其实笔者在刚刚学习Android开发的时候,也没有意识到adb的重要性。想想只要用IDE画出界面,然后实现后台的逻辑代码,貌似App也可以很好的运行起来了,但是我们应该去持续的跟踪App的使用、运行情况,想想如果用户报了个crashbug,但是你自己又复现不了。这个时候我们应该怎么办呢?如果你了解adb的强大之处,就可以抓取log进行分析了。 adb位于sdk的platform-tools目录下面,所以当我们下载了sdk之后,就可以配置全局参数,这样我们就可以直接在命令行使用了。adb常用命令: adbroot用于手机root,提升权限。 adbremount用于获取手机的读写权限,如果不执行该命令那么只有读权限。 adbshell进入adb的命令行。 adbpush+你本地电脑的文件路径,用于将文件传到手机。 adbpull+手机文件路径,用于将文件拉到你的电脑。 adbinstall+apk,往手机安装apk。 adbunins
说实话,到现在,敏捷引入的原则已经少有人提及了,Scrum和Kanban流程中的标准动作坚持在做的也不多了,比如其中的每日站会,也变成了偶尔开一次,平时的工作进展基本又变成了需要去问才知道,这种状态基本就是回到了“解放前”。据我观察,周围的团队无一幸免。 对这样的敏捷实践结果,我其实是比较失落的。这也印证了敏捷转型开始的时候,有不少圈内的朋友都说:你看吧,坚持不了多久。我当初是不太相信的,因为我们不一样,这次转型是一把手推动的,力度和持续性应该是有足够的意愿的。可惜后来外部教练撤出后,我们还是跟很多其他转型的公司一样,没有战胜惯性的力量。 我在反思这其中的道理,是什么原因导致了这种结果?是敏捷提倡的那一套理论和流程真的不行?就像敏捷开始引入时很多人认为的——每个公司都不一样,都有自己的具体“国情”,敏捷并不适用?还是惯性和惰性吞噬了一时的变革和创新?外部推动力量消失后,内部是不是应该补上这股推动力量,以实现持续推动变革落地? 我前天晚上回家路上坐地铁,看到坐我对面一个人拿着pad玩游戏,声音大,吵到了其他人。这种情况在以前很常见,大家都觉得不舒服,但是很少有人站出来去替大
一Json xml <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"> <Buttonandroid:id="@+id/person"android:layout_width="fill_parent" android:layout_height="wrap_content"android:text="解析Person数据"/> <Buttonandroid:id="@+id/persons"android:layout_width="fill_parent" android:layout_height="wrap_content"android:text
Definition AHilbertspaceHisa realor complex innerproductspacethatisalsoa completemetricspacewithrespecttothedistancefunctioninducedbytheinnerproduct.[2] TosaythatHisacomplexinnerproductspacemeansthatHisacomplexvectorspaceonwhichthereisaninnerproduct associatingacomplexnumbertoeachpairofelements x,yofHthatsatisfiesthefollowingproperties: Theinnerproductofapairofelementsisequaltothe complexconjugateoftheinnerproductoftheswappedelements: Theinnerproductis linearinitsfirstargument.[3]Forallcomp
背景:数据分析想看数据,就必须去各个平台把数据找出来放在EXCEL表中,然后通过透视表去进行统计,非常的耗时。 大概清楚自己要做什么了 将各个平台的数据存储到自己的数据库当中, 然后搭建自己公司的CRM(后台管理平台),对数据进行进一步的处理,比如各渠道获取的人数(微信、微博等)能展现出一个图表,之前是靠人工去各个平台一个个去找,然后放入EXCEL中,然后进行统计,如果全在自己数据库中,汇总数据就可以不用人工了。 所以我要做的是: 1.通过各平台的API,然后自己创建相对应的表,添加必要的字段 2.通过kettle将json格式的数据导入进去(每天开发会生成json格式的文件给我) 3.各个平台都做好之后,在进行进一步的汇总统计,需要建新的表,将所有平台的数据汇总到这里,用于CRM的展示。 为什么要用kettle而不让开发直接入库? 因为会有重复数据(开发也可以去重~这不算问题),主要是便于管理,通过kettle可以很好的输出日志,知道本次入库了多少条数据,知道入库的成功或失败。
要在CentOS上开始使用DockerCE,请确保 满足先决条件,然后 安装Docker。 1.卸载旧版本 sudoyumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine 复制 2.安装DockerCE #安装所需的包 sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2 #使用以下命令设置稳定存储库 sudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo #安装最新版本的DockerCE和containerd sudoyuminstalldocker-cedocker-ce-clicontainerd.io #启动Docker sudosystemctlstartdocker #将您的用户