[HPGCC3大坑系列]-01 简介与安装教程
本帖最后由 The_Andy! 于 2014-5-9 22:25 编辑本文黑色字体为原文翻译,原文来自hpgcc3.org官网,灰色字为我瞎写的补充,两边如果有任何不对劲,请以原文为准w
**注意:此C语言编译器是为HP49+和HP50G设计的,理论上这一整个系列都可以使用,不过我只在一台49G+工程机上试过,不保证成功,可以等我入了48GII,测试后再来看这个帖子!**
使用时请注意许可声明:http://hpgcc3.org/projects/hpgcc3/licensing本程序的开发团队是由志愿者组成,现在的两名主要开发者为IngoBlank和ClaudioLapilli,感谢他们!
1L . HPGCC3简介2L . Ubuntu下编译hpgcc3的工具链并生成计算器固件
http://www.cncalc.org/data/attachment/forum/201403/08/105350d22ppqqmpaa2zw9c.jpg
我的49G+,现在不再打算出了w
----------------------我是分割线----------------------
HP目前最受欢迎的计算器(HP49+ 和HP50G)是基于ARM架构的,在正常情况下,你正在使用的是一个4-bitCPU—Saturn处理器的模拟器,因此平时你不能直接发挥出那颗ARM全部的威力。而安装了HPGCC3运行库后,你一方面可以像之前那样正常地使用、计算,同时也可以直接在ARM上运行使用HPGCC3工具链编译的程序。这个运行库还可以调用Saturn模拟器所提供的功能和变量,我们相信你会愿意将你的计算器推向新的高度。
吐槽:现在最容易买到的49系计算器是HP-48GII和HP-50G(虽然名字都不带49……但实际也是49系列的),cpu的主频为203Mhz,运行Saturn模拟器时限制为75Mhz,极大地浪费了硬件资源,而HPGCC3,就像他的祖先HPGCC和HPGCC2一样,完全地利用了这颗CPU,同时提供了很多非常非常有用的库,比如灰度图形库,硬件管理等,有了它们,HP计算器的可玩性大大提高。
本帖最后由 The_Andy! 于 2014-5-9 22:36 编辑
HPGCC3最麻烦的地方是安装,作者只提供了Linux下的安装方法,而且需要自己编译工具链和固件,很多新人望而却步。没有任何linux使用经验的我研究了一整个下午,花费了大把时间,最后终于解决了这一步,我会将自己的经验放在下面的。整个过程我是在64位Ubuntu12.04下完成的,应该和各位不会有太大的差别。
-----正文-----
第一部分:开始
-安装一个新系统
为了让整个过程更简单,整个教程将基于Ubuntu系统,所以第一步要在你的电脑或虚拟机里安装一个Ubuntu,按照ubuntu.com的方法,应该很快就能完成,虚拟机你可以选择VMWare,VirtualBox,VirtualPC,Parallels等等,选择很多,安装完后别忘记进行软件更新,然后你就可以前去下一步了。
-安装你所需要的软件包
(Ubuntu系统的优势开始体现出来了,这一步要是在windows下要花很长时间,去安装和配置,而在Ubuntu下就是几分钟的事情)
为了建立起开发环境,你需要安装以下几个软件包,在ubuntu下,你可以在Dash->新立得软件包管理器里轻松获得(但是在我的Ubuntu版本里不自带新立得管理器,我更建议使用命令行下sudoapt-get install 某某来获得,详情可以百度)
gcc (sudoapt-get install build-essential)libelf-dev (sudoapt-get install libelf-dev)eclipse-cdt (sudoapt-get install eclipse-cdt)
有些软件可能已经在你的系统里了,最后只要按下apply就可以让改变生效(apt理论上装完就可以用,保险起见还是登出再登入一下比较好)我在启动eclipse时会报错,检查一下java的配置有没有问题再试试。
第二部份:安装工具链
-选择一个正确的工具链
我们推荐配合HPGCC3使用的ARM工具包是由MentorGraphics提供的SourceryCodeBench Lite,它是免费的,而且时常会顺应ARM的编程的进步而更新,在这个页面下找到“ARMProccessors”,单击“Downloadthe EABIrelease”,你需要提供自己的邮箱来进行个简短的验证,然后你就会看到一个包含了不同平台的列表,在里面选择给Ubuntu用的Linuxinstaller,下载下来之后确认一下文件名是否包含“arm-none-eabi”字样,如果没有就砍掉重练
-安装工具链
在运行安装程序之前需要做一些准备工作,这个安装程序并不是基于Ubuntu默认Shell开发的,我们需要先配置一下,打开一个终端,输入
sudodpkg-reconfigure -plow dash
会出现一个蓝色窗口问你是否要将Dash设置为默认Shell,选择“no”,然后你就可以运行安装程序了,先将目录切换到下载目录下:
cd下载(我是放在 “~/下载”这里的,你们可能会不一样,请多加注意不同语言下文件夹名称的区别,后面在编译时可能会出大问题!)chmoda+x arm-nnnn.nn-nn-arm-none-eabi.bin./arm-nnnn.nn-nn-arm-none-eabi.bin
把“nnn.nn-nn”替换成你下载下来那个文件的名字里面那串,然后就像在windows下安装程序一样,随便挑个地方装一下,我个人建议将所有有关文件都放到“~/hpgcc3”下,看上去会更舒服。在这个教程里我装到了”~/hpgcc3/toolchain”下面安装全部完成后,登出系统再登入,试着在终端里键入
arm-none-eabi-gcc–version
如果没意外,应该会显示Arm工具包的版本,如果没有你就去试一试配置环境变量,具体可以百度,
第三部份:安装HPGCC3
建立一个文件夹作为主文件夹,在哪里并不重要(强烈建议放在“~/”下,不然后面可能会出现一些麻烦)以后我们就管这个文件夹叫“hpgcc3”,以后提到的“hpgcc3文件夹”指的都是这个文件夹
在这里可以下载到你所需要的所有文件,解压后有两个文件夹分别叫做“tools_workspace”和“libs_workspace”,这两个是eclipse的工作区文件夹,前一个是用来制作编译工具的,后一个是用来制作计算器固件的。
-制作编译工具
(本部份在eclipse3.7.2英文版下亲测正常)
打开eclipse,点击主菜单-File-Switchworkspace-Other...然后选择tools_workspace文件夹,IDE会自动重启,现在在左侧的项目管理器里应该能看见一堆东西
这些东西是用来构造hpgcc3运行库的,同时也是用来构造你的程序时所用工具链的组成部分,这时只需简单地按下ctrl+B,剩下的就交给电脑了,当编译完成后,你还有一步需要做。(这一步很容易出现问题,各种各样的问题,各位请多加注意中英文系统的区别(我一开始在“下载”目录里编译,结果通不过,就是因为中英文系统下文件夹名字的差异),所用用户等等,遇到问题可以自己尝试着解决,试试在运行eclipse时加上sudo命令等,源码在我手上的gcc4.6下没有任何问题,各位暂时不用怀疑源码)eclipse的插件无法自动安装,因为权限问题,所以这一步需要各位手动进行,上一步进行完毕后,桌面上会出来一个脚本文件,关掉eclipse直接运行就可以了,运行时会向你索要超级用户的密码,这一步必须在超级用户下完成,运行完毕后请登出再登入,这一步是完成环境变量的配置。之后再打开eclipse,选择New-CProject,在toolchain选择里面应该会多出来一个“HPGCC3(Linux)”
-编译运行库
现在工具已经弄好了,下一步就是去制作一个给计算机使用的固件,固件中包含了运行hpgcc3程序所需要的库。
打开Eclipse,点击File-Switchworkspace-Other...选择libs_workspace文件夹,
在项目管理器中,可以找到一个叫做“make_rom”的project,里面有个空的文件夹叫做“original_rom”,请先在官网下载最新版本的固件(这步很重要!之前在这里浪费了很多时间,看文档不仔细啊QAQ,各位也可以去hpcalc.org下载固件,官网挺混乱的(错觉)),把那个差不多1.2M的.bin文件仍进”original_rom”,如果提供的文件不对会在编译时报错
按下ctrl+B,IDE会开始编译库文件,这一步慢慢等就好,完成后就可以退出了。
-清洁
(这部分没什么好说的,跳过跳过~_(:з」∠)_)
第四部分:在计算器上安装运行库
HPGCC3运行库被设计为以一个ROM包的形式安装,来节约更多RAM空间,安装这个运行库需要安装一个修改版的ROM。
**警告,请在安装前注意以下内容**
HPGCC3的ROM包需要占用多一点空间,安装这个包可能会覆盖掉一点port2上的数据,建议先进行数据备份,HPGCC3开发组不对任何数据丢失负责(我也是w)
-准备好你的计算器
注意:这一步只需在第一次安装HPGCC3时进行在安装新ROM之前,你需要将数据和库移到别的地方,这样它们就不会被覆盖掉,你可以使用FlashTools来进行这一步,在这里可以找到下载,下载下来的东西里有个叫做“FMAN.bin”的,将它弄到你的计算器中,按EVAL运行,你应该会看见一个浏览器样的窗口,用方向键,选择旁边有个数字8的“FLASH”,这个数字是用户闪存空间的编号,(一般闪存会被分成很多个部分,其中8~13是给Port2的),如果这个地方有任何数据,它们会被列出来,HPGCC3会使用8和9两个空间,用f1将这两处的数据全部移走。请多加确认,确保每个被移走的数据前面都有D(意思是“delete”),然后你就可以正常的重启你的机子,准备安装HPGCC3了
-库在哪里?
在编译完成后,你应该能在hpgcc3目录下找到一个叫做“rom”的文件夹,里面有个bin文件和一个“update.scp”,这就是你需要的安装文件了,就像安装普通的rom更新那样安装就可以了(可以参考hpcalc.org上的介绍)
待机子重启之后,按“LIB”(右Shift+2),你会看见库列表里面多出了一个“HPGCC3”,里面有个叫RLVER的命令,可以确认当前版本
恭喜!你的机子已经准备好运行C语言程序了!
完
本帖最后由 The_Andy! 于 2014-5-9 22:34 编辑
啊啊……一口气写完完全没有检查,希望能对各位有点帮助,同时也为hp的计算器做了个推广(?)
下次也许会搬一些教程过来?虽然现在网上hpgcc的教程少的要死,老hpgcc的网站挂了,hpgcc3的教程只有一个helloworld和四个demo,基本没什么用处,说不定我会自己写一点(?)
这次期中考考的不怎么样,接下来一段时间可能会少出现一点了,各位加油w
至于机子可能有点难买了,下次我会想办法弄点hp49来论坛里低价卖,各位也可以去万大淘看看
至于hp48gii我还没试过,暂不推荐,等有机会试一试再说。
感觉叼得不行。。。颇有ndless的样子。。。这种东西什么时候才会出现在prime上 HP39GS能用不? 诗诺比 发表于 2014-5-10 09:37
HP39GS能用不?
应该是不行,这个运行库是给49系列设计的,可能可以在48gii运行,但39的构造和49系列区别很大,是没法使用的 放弃吧,鸡肋一个
谢谢楼主的讲解,39GS在路上有几点疑问
1,39GS也是模拟器机,和48Gii差在39vf160,真的没希望了吗(或者48Gii也不可以)?
2,如果48Gii可以而39GS不行,是否能认为是39GS系统导致了不能支持?
3,旧版本的HPGCC功能上和最新版有多大差别?(外面论坛各种被那啥,面对校园网科技手段不灵了) andy 威武
页:
[1]