JNH官网

新闻资讯
制作简易的编译器-从无到有
2018-06-27
 制作简单的编译器需要怎么做?怎样从无做到有?跟着我的教学走,你会觉得很简单   编译原理是计算机专业大三或者大四的必修课程之一,许多学员都会对学生提出硬性或者软性的制作简易编译器的要求。许多学生手足无措,别急,学长也是过来人,看完这个教程,保证你轻轻松松完成属于你自己的编译器。   首先第一篇教程不会涉及具体的实现。在这种大工程之前,正确的模块划分是极为重要的。这样可以让你阶段性地看到自己的成果,对于自信心是一个极大的帮助;此外,正确的模块划分有助于后期排除错误。   在此之前也介绍一下工作量。如果完全自己手撕一个编译器,其工作量可能和手撕一个CPU(用verilog)工作量差不多,大概会耗时一个月左右,不过如果只是交一个作业,完全不用全部自己完成。特别是语义分析这种工作,有大量现成的代码稍加修改就可以直接使用(当然,严格意义上来讲,所有部分都可以稍加修改直接使用)。   JNH官网将编译器制作分为以下四个模块分块实现完成:   一、语法分析、词法分析模块(yacc、lex)   yacc、lex是linux环境下的语法生成器和词法生成器,使用非常广泛。一般情况下老师也比较鼓励学生去用yacc和lex去完成这样的实验。需要说明的是,在现存的linux操作系统中,yacc和lex已经发生了变异。JNH官网所采用的是ubuntu环境下的bison和flex。   二、语义分析(C语言)   语义分析是在词法分析语法分析结束,生成了语法树的基础上,对语法树进行遍历,建表,查错。   三、中间代码生成(C语言)   这一部分就是在语义分析的基础上,生成三元式、四元式之类的。   四、目标代码生成(C语言)   这一步就实现了从某种语言(你制定的语言)到MIPS代码的转换。有人说我不要MIPS,我要x86的,没问题,从中间引入llvm即可   跟着我的教程走,学到哪里,编译器做到哪里;做到哪里,作业交到哪里。即使你只做了语法分析、词法分析,你也可以交一个语法生成树,就是这么简单、这么人性化。看到这里,如果符合你的要求,follow me;不符合的话,可以去看看其他的教程。
查看更多→
编译器的种类有哪些?
2018-06-25
 编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高级语言作为输入,输出也是高级语言的编译器。例如: 自动并行化编译器经常采用一种高级语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。   处理器   作用是通过代入预定义等程序段将源程序补充完整。   前端   前端主要负责解析(parse)输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’(Token)找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句 ,函数等等。 例如“a = b + c;”前端语法分析器看到的是“a, =, b , +, c;”,语意分析器按定义的语法,先把他们组装成表达式“b + c”,再组装成“a = b + c”的语句。 前端还负责语义(semantic checking)的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树(abstract syntax tree,或 AST),这样后端可以在此基础上进一步优化,处理。   后端   编译器后端主要负责分析,优化中间代码(Intermediate representation)以及生成机器代码(Code Generation)。   一般说来所有的编译器分析,优化,变型都可以分成两大类: 函数内(intraprocedural)还是函数之间(interprocedural)进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。
查看更多→
Arm编译器
2018-06-22
 Arm RVDS4.1中的Arm编译器是唯一一个与Arm编译器联合开发的商用编译器, 专门设计用于为Arm编译器架构程序并提供最优支持。该编译译器的开发历经有20年左右,被公认为是业界标准C和C++编译器,用于生成面向向Arm、 Thumb、 Thumb-2、VP和NEON指令集的的应用程序。     Arm编译器设计用于以最佳方式执行Arm编译器生成的代码     Arm编译器支持所有Arm处理器中的新增器功能。     基于分析驱动的编译器将自动在运行时优化代码并提供信息。     Ar皿编译器支持生成 Symbian OS和 Arm Linux应用程序及库,RVDS4.1编译器与RVDS4.0相比,最佳代码大小减少了多达6%,并使最佳性能提高了10-20%。     除了Arm编译器之外,先进的NEON矢量化Arm编译器(RVDS专业版的一部分)支持从标准的的C和C++代码自动生成成 Arm NEON SITⅧD代码序列。NEON矢量化Arm编译器可使关键多媒体内核的速度提高4倍,最终使整个应用程序性能提高到2倍。     Ar皿编译器     针对成本极为敏感型设各的开发:     为进一步提高基于Arm编译器的一系列应用程序的代码密度,Arm编译器特别提供了一个可选的 microlib C库(ISO标准C运行时库的子集),该库的大小已针对微控制器成用进行了最小化。 microlib C库的运行时库代码大小締减了90%。     Cortex-M与Arm编译器结合使用时, microlib C库提供完全基于C语言的开发环境,而不必还原为汇编语言-即便对中断服务例程也是如此。这样就无需具体了解Arm编译器架构。     nichol ib C库所节省的内存空间将取决于应用程序,“ hello world”应用程序     可节省97%, Dhrystone之类的较为复杂的应用程序可节省到50%     降低 Linux应用程序开发的风险:     Arm编译器团队所创建的针对Arm架构的ABI同样可在 Arm GNU编译器中实现。这样,即可支持创建和使用可在不同开发环境间共享的库。     GNU编译译器与Arm编译器相互兼容意味着可以使用Arm编译器生成 Linux应用程序。Arm编译器能为您您的开发团队提供高质量的商用工具包可提供的卓越的支持和性能、稳定性和代码大小优势。
查看更多→
Altium Designer PCB布局布线过程与技巧
2018-06-20
? ? ? ??首先是原理图设计。原理图设计是前期准备工作,对简单的板子,如果熟练流程,不妨可以跳过。但是对于初学者一定要按流程来,这样一方面可以养成良好的习惯,另一方面对复杂的电路也只有这样才能避免出错。在画原理图时,层次设计时要注意各个文件最后要连接为一个整体,这同样对以后的工作有重要意义。由于,软件的差别有些软件会出现看似相连实际未连(电气性能上)的情况。如果不用相关检测工具检测,万一出了问题,等板子做好了才发现就晚了,这也显示出按顺序来做的重要性了。接下来重点讨论具体制板的过程与技巧: 1.制作物理边框 ?place>line,然后画框并选取框,最后design>board shape>define from selected objects,完成!主要是要注意精确,否则以后出现安装问题麻烦可就大了。还有就是拐角地方用圆弧,一方面可以避免被尖角划伤,同时又可以减轻应力作用。 2.元件和网络的引入打开原理图,选择Design>Update PCB Document...常见问题:元件的封装形式找不到,元件网络问题,有未使用的元件或管脚,对照提示这些问题可以很快搞定的。 3.元件的布局元件的布局与走线对产品的寿命、稳定性、电磁兼容都有很大的影响,是应该特别注意的地方。一般来说应该有以下一些原则:(1)放置顺序 ?? ? ? ??先放置与结构有关的固定位置的元器件,如电源插座、指示灯、开关、连接件之类,这些器件放置好后用软件的LOCK功能将其锁定,使之以后不会被误移动。再放置线路上的特殊元件和大的元器件,如发热元件、变压器、IC等。最后放置小器件。(2)注意散热 ?? ? ? ??元件布局还要特别注意散热问题。对于大功率电路,应该将那些发热元件如功率管、变压器等尽量靠边分散布局放置,便于热量散发,不要集中在一个地方,也不要高电容太近以免使电解液过早老化。 4.布线通行的布线原则。 ◆高频数字电路走线细一些、短一些好 ◆大电流信号、高电压信号与小信号之间应该注意隔离(隔离距离与要承受的耐压有关,许多情况下为避免爬电,还在印制线路板上的高低压之间开槽。) ◆两面板布线时,两面的导线宜相互垂直、斜交、或弯曲走线,避免相互平行,以减小寄生耦合;作为电路的输人及输出用的印制导线应尽量避免相邻平行,以免发生回授,在这些导线之间加接地线。 ◆走线拐角尽量120度拐角 ◆同是地址线或者数据线,走线长度差异不要太大,否则短线部分要人为走弯线作补偿 ◆走线尽量走在焊接面,特别是通孔工艺的PCB ◆尽量少用过孔、跳线 ◆单面板焊盘必须要大,焊盘相连的线一定要粗,能放泪滴就放泪滴,一般的单面板厂家质量不会很好,否则对焊接和RE-WORK都会有问题 ◆大面积敷铜要用网格状的,以防止波焊时板子产生气泡和因为热应力作用而弯曲,但在特殊场合下要考虑GND的流向,大小,不能简单的用铜箔填充了事,而是需要去走线 ?◆元器件和走线不能太靠边放,一般的单面板多为纸质板,受力后容易断裂,如果在边缘连线或放元器件就会受到影响 ◆必须考虑生产、调试、维修的方便性 ◆对于蛇形走线,因为应用场合不同其作用也是不同的,在电脑的主板中用在一些时钟信号上,如 PCIClk、AGP-Clk,它的作用有两点:1、阻抗匹配 2、滤波电感。一般来讲,蛇形走线的线距>=2倍的线宽;若在普通PCB板中,除了具有滤波电感的作用外,还可作为收音机天线的电感线圈等等。 5.调整完善 ? ? ? ??完成布线后,要做的就是对文字、个别元件、走线做些调整以及补泪滴和敷铜。 ? ? ? ??补泪滴就是在铜膜导线与焊盘或过孔交接的位置处,防止机械钻孔时损坏铜膜走线,特意将铜膜导线逐渐加宽的一种操作。目的 防止机械制板的时候,焊盘或过孔因承受钻孔的压力而与铜膜导线在连接处断裂,因此,连接处需要加宽铜膜导线来避免此种情况发生 ? ? ? ??敷铜通常指以大面积的铜箔去填充布线后留下的空白区,可以铺GND的铜箔,也可以铺VCC的铜箔(不建议,除非不得已用来加大电源的导通面积,以承受较大的电流才接VCC)。包地则通常指用两根地线,包住一撮有特殊要求的信号线,防止它被别人干扰或干扰别人。 ? ? ? ??如果用敷铜代替地线一定要注意整个地是否连通,电流大小、流向与有无特殊要求,以确保减少不必要的失误。 6.检查核对网络 ? ? ? ??有时候会因为误操作或疏忽造成所画的板子的网络关系与原理图不同,这时检察核对是很有必要的。所以画完以后切不可急于交给制版厂家,应该先做核对,后再进行后续工作。 7.使用仿真功能 ? ? ? ??完成这些工作后,如果时间允许还可以进行软件仿真。特别是高频数字电路,这样可以提前发现一些问题,大大减少以后的调试工作量。关于JNH官网电子 ? ? ? ??JNH官网电子是国内全面的开发工具提供商, 致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。JNH官网电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。 ? ? ? ? ??JNH官网电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从ARM开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。JNH官网电子在北京、上海、深圳设有分公司,业务遍布全国。 21ic
查看更多→
ANSYS并购Optis利用模拟平台加速自动驾驶研发
2018-06-20
? ? ? ??据外媒报道,ANSYS公司斥资3亿美元并购Optis公司,旨在获取后者的自动驾驶模拟技术。 ? ? ? ??在将Optis公司的光学传感器及闭合回路实时模拟技术添加到Ansys的主要多重物理场(multi-physics)产品组合后,Ansys将提供品类广的工具组,用于验证自动驾驶车辆的安全性及可靠性,规避了数十亿英里的实地路测里程数,从而加快自动驾驶汽车的上市时间。 ? ? ? ??并购Optis公司后,Ansys公司的功能将拓展至激光雷达、摄像头、雷达等各类传感器的模拟、物理构件及电子元件的多物理场模拟、系统功能安全性分析、安全认证内置软件的自动研发。该功能可被整合到闭合回路模拟环境中,并与天气及交通模拟器实现交互,可执行数千种驾驶情境,用于自动驾驶车辆的模拟测试。 ? ? ? ??Optis研发了一款相当逼真的虚拟现实及闭合回路模拟平台,有助于加快自动驾驶车辆的研发。若将该项VR技术与其它Ansys方案相结合,车企就能模拟无人驾驶车辆的模拟测试环境,设定路况、天气及单行道等相关测试参数。 ? ? ? ??Ansys的主流模拟方案可被用于在基于真实路况的模拟环境内测试模拟车辆。若采用的建模替代现实车辆所遭遇的各类驾驶情景,只需一日时间,就能在虚拟测试环境中完成数百万英里的自动驾驶路测。除自动驾驶汽车行业外,该笔并购案还将强化Ansys公司的地位,使其保持跨行业模拟方案供应商。 ? ? ? ??在将视觉整合工具纳入到Ansys当前的产品方案后,Ansys公司可为向用户提供更多新产品。关于JNH官网电子 ? ? ? ??JNH官网电子是国内全面的开发工具提供商, 致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。JNH官网电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。 ? ? ? ??JNH官网电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从ARM开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。JNH官网电子在北京、上海、深圳设有分公司,业务遍布全国。 盖世汽车网
查看更多→
ARM改进CPU和GPU:新芯片运行Windows更快,能耗更低
2018-06-20
? ? ? ??芯片开发商ARM宣布对CPU与GPU的一系列改进,当芯片在Windows笔记本上运行时,性能大幅提升。 ? ? ? ??ARM公司IP产品部门(IP Products Group)总裁雷内·哈斯(Rene Haas)在博客中介绍称,新ARM Cortex-A76 CPU在处理效率型应用(productivity applications)时,性能比一年前增强35%。他还说,新推出的Mali-G76 GPU处理无线游戏和设备内机器学习应用时,效率与性能比之前的产品提升30%。 ? ? ? ??有了Mali-V76 VPU,用户可以在移动设备上享受UltraHD 8K体验。哈斯还说:“在过去5年里,每年智能手机CPU性能平均都会提高20%以上,而且没有牺牲续航时间。但在笔记本(它使用其它架构)上可没有这么快的提升,在过去几年里,它们受到摩尔定律的约束,进步困难,每年性能平均只能提升几个百分点,而且电池续航也没有明显改进。” ? ? ? ??哈斯继续说:“在ARM的引领下,智能手机性能和效率大幅提升,这种进步没有被Windows笔记本生态系统忽视,它们现在将高通开发的ARM架构处理器放进PC,这种PC一直保持联网状态。ARM版笔记本的续航时间可以超过20小时,之前做不到,由于OS和应用持续优化,性能还会稳定提升。” ? ? ? ??在博文中,哈斯还断言,之前人们能感受到ARM处理器与英特尔、AMD处理器有差距,但ARM新设计可以缩小这种差距。哈斯称,新Cortex-A76 CPU是基于DynamIQ技术开发的,它的性能与笔记本差不多,但是能耗却像智能手机。 ? ? ? ??博文称:“最近,JNH官网已经看到新推出的ARM版Win 10 PC取得一些成功,续航时间超过20小时,不可思议,而且还是真正连接LTE的PC,支持Windows App生态系统。在这种良好的发展势头下,JNH官网推出新Cortex-A76 CPU,它为消费者带来更多选择,为他们提供一套可以信赖的架构,性能比往年提升35%,效率提升40%。”关于JNH官网电子 ? ? ? ??JNH官网电子是国内全面的开发工具提供商, 致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。JNH官网电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。 ? ? ? ??JNH官网电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从ARM开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。JNH官网电子在北京、上海、深圳设有分公司,业务遍布全国。 21ic
查看更多→
ARM收购物联网管理技术厂商Stream
2018-06-20
?近日,芯片设计公司ARM收购了Stream Technologies,它将为物联网设备提供更好的连接。物联网的设备已经从过去的呆板,变得越来越智能、联通。ARM想要通过提供芯片和硬件基础设施,让所有事物的工作更加无缝化。Stream Technologies就能帮它实现这个目标。 ? ? ? ??这家公司的技术能给ARM的客户以及合伙人提供一个单一的平台,让他们看到所有设备的连通性,并进行管理(无论这些设备的位置和连接的网络是什么)。ARM的副总裁兼物联网云服务总经理Hima Mukkamala表示,Stream Technologies支持的实体连接包含了所有的工业标准无线协议和物联网数据访问的设备关键。 ? ? ? ??到2035年,ARM预计会拥有1万亿台联网设备,推动这个数字增加的原因有很多,包括其他公司追求物联网数据的商业价值而带来的机遇等。数据所带来的好处通常是显而易见的:更高的效率、更快的市场进入速度、节约成本、增加新的营收渠道。但这些好处的前提,就是数据必须是可靠的、安全的,并且能快速访问并得到有意义的数据结论。ARM的Mbed物联网设备管理平台(Mbed IoT Device Management Platform)让企业能够安全地大规模开发和管理联网设备,从而解决以上需求。得益于Stream Technologies的收购,这个平台正在发生新的变化,它将能够管理每一台设备的联网,无论该设备在哪里。 ? ? ? ??Stream成立于2000年,这家联网管理技术供应商拥有77万托管订阅用户,每天要处理2TB的流量。关于JNH官网电子 ? ? ? ??JNH官网电子是国内全面的开发工具提供商, 致力于将全球先进的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。JNH官网电子先后与ARM、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。 ? ? ? ??JNH官网电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从ARM开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。JNH官网电子在北京、上海、深圳设有分公司,业务遍布全国。 中国经济新闻网
查看更多→
编译器是什么?
2018-06-14
 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。编译是从源代码(通常为高级语言)到能直接被计算机   编译器或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。   典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,所以JNH官网电脑上的文件都是经过编译后的文件。
查看更多→
jnh官网 jnh官网 jnh官网 jnh官网 金年会 金年会 金年会 金年会