cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 7469|回复: 8

[HPGCC3大坑系列]-01 简介与安装教程

[复制链接]
发表于 2014-5-9 22:12:50 | 显示全部楼层 |阅读模式
本帖最后由 The_Andy! 于 2014-5-9 22:25 编辑

本文黑色字体为原文翻译,原文来自hpgcc3.org官网,灰色字为我瞎写的补充,两边如果有任何不对劲,请以原文为准w

**注意:此C语言编译器是为HP49+和HP50G设计的,理论上这一整个系列都可以使用,不过我只在一台49G+工程机上试过,不保证成功,可以等我入了48GII,测试后再来看这个帖子!**

使用时请注意许可声明:http://hpgcc3.org/projects/hpgcc3/licensing
本程序的开发团队是由志愿者组成,现在的两名主要开发者为IngoBlankClaudioLapilli,感谢他们!

1L . HPGCC3简介
2L . Ubuntu下编译hpgcc3的工具链并生成计算器固件


我的49G+,现在不再打算出了w


----------------------我是分割线----------------------


HP目前最受欢迎的计算器(HP49+ HP50G)是基于ARM架构的,在正常情况下,你正在使用的是一个4-bitCPU—Saturn处理器的模拟器,因此平时你不能直接发挥出那颗ARM全部的威力。
而安装了HPGCC3运行库后,你一方面可以像之前那样正常地使用、计算,同时也可以直接在ARM上运行使用HPGCC3工具链编译的程序。这个运行库还可以调用Saturn模拟器所提供的功能和变量,
我们相信你会愿意将你的计算器推向新的高度。

吐槽:
现在最容易买到的49系计算器是HP-48GIIHP-50G(虽然名字都不带49……但实际也是49系列的),cpu的主频为203Mhz,运行Saturn模拟器时限制为75Mhz,极大地浪费了硬件资源,而HPGCC3,就像他的祖先HPGCCHPGCC2一样,完全地利用了这颗CPU,同时提供了很多非常非常有用的库,比如灰度图形库,硬件管理等,有了它们,HP计算器的可玩性大大提高。

 楼主| 发表于 2014-5-9 22:17:08 | 显示全部楼层
本帖最后由 The_Andy! 于 2014-5-9 22:36 编辑


HPGCC3最麻烦的地方是安装,作者只提供了Linux下的安装方法,而且需要自己编译工具链和固件,很多新人望而却步。没有任何linux使用经验的我研究了一整个下午,花费了大把时间,最后终于解决了这一步,我会将自己的经验放在下面的。
整个过程我是在64Ubuntu12.04下完成的,应该和各位不会有太大的差别。

-----正文-----


第一部分:开始

-安装一个新系统

为了让整个过程更简单,整个教程将基于Ubuntu系统,所以第一步要在你的电脑或虚拟机里安装一个Ubuntu,按照ubuntu.com的方法,应该很快就能完成,虚拟机你可以选择VMWareVirtualBoxVirtualPCParallels等等,选择很多,
安装完后别忘记进行软件更新,然后你就可以前去下一步了。

-安装你所需要的软件包

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+BIDE会开始编译库文件,这一步慢慢等就好,完成后就可以退出了。


-清洁

(这部分没什么好说的,跳过跳过~_(:з」∠)_

第四部分:在计算器上安装运行库

HPGCC3运行库被设计为以一个ROM包的形式安装,来节约更多RAM空间,安装这个运行库需要安装一个修改版的ROM
**警告,请在安装前注意以下内容**

HPGCC3ROM包需要占用多一点空间,安装这个包可能会覆盖掉一点port2上的数据,建议先进行数据备份,HPGCC3开发组不对任何数据丢失负责(我也是w


-准备好你的计算器

注意:这一步只需在第一次安装HPGCC3时进行
在安装新ROM之前,你需要将数据和库移到别的地方,这样它们就不会被覆盖掉,你可以使用FlashTools来进行这一步,在这里可以找到下载,下载下来的东西里有个叫做“FMAN.bin”的,将它弄到你的计算器中,按EVAL运行,你应该会看见一个浏览器样的窗口,
用方向键,选择旁边有个数字8的“FLASH”,这个数字是用户闪存空间的编号,(一般闪存会被分成很多个部分,其中8~13是给Port2的),如果这个地方有任何数据,它们会被列出来,HPGCC3会使用89两个空间,用f1将这两处的数据全部移走。
请多加确认,确保每个被移走的数据前面都有D(意思是“delete”),然后你就可以正常的重启你的机子,准备安装HPGCC3


-库在哪里?

在编译完成后,你应该能在hpgcc3目录下找到一个叫做“rom”的文件夹,里面有个bin文件和一个“update.scp”,这就是你需要的安装文件了,就像安装普通的rom更新那样安装就可以了(可以参考hpcalc.org上的介绍
待机子重启之后,按“LIB”(右Shift+2),你会看见库列表里面多出了一个“HPGCC3”,里面有个叫RLVER的命令,可以确认当前版本

恭喜!你的机子已经准备好运行C语言程序了!





 楼主| 发表于 2014-5-9 22:18:27 | 显示全部楼层
本帖最后由 The_Andy! 于 2014-5-9 22:34 编辑

啊啊……一口气写完完全没有检查,希望能对各位有点帮助,同时也为hp的计算器做了个推广(?)
下次也许会搬一些教程过来?虽然现在网上hpgcc的教程少的要死,老hpgcc的网站挂了,hpgcc3的教程只有一个helloworld和四个demo,基本没什么用处,说不定我会自己写一点(?)
这次期中考考的不怎么样,接下来一段时间可能会少出现一点了,各位加油w

至于机子可能有点难买了,下次我会想办法弄点hp49来论坛里低价卖,各位也可以去万大淘看看
至于hp48gii我还没试过,暂不推荐,等有机会试一试再说。

发表于 2014-5-10 01:42:35 | 显示全部楼层
感觉叼得不行。。。颇有ndless的样子。。。这种东西什么时候才会出现在prime上
发表于 2014-5-10 09:37:47 | 显示全部楼层
HP39GS能用不?
 楼主| 发表于 2014-5-10 11:27:35 来自手机 | 显示全部楼层
诗诺比 发表于 2014-5-10 09:37
HP39GS能用不?

应该是不行,这个运行库是给49系列设计的,可能可以在48gii运行,但39的构造和49系列区别很大,是没法使用的
发表于 2015-12-5 03:21:16 | 显示全部楼层
放弃吧,鸡肋一个
发表于 2015-12-7 17:15:16 来自手机 | 显示全部楼层
谢谢楼主的讲解,39GS在路上有几点疑问
1,39GS也是模拟器机,和48Gii差在39vf160,真的没希望了吗(或者48Gii也不可以)?
2,如果48Gii可以而39GS不行,是否能认为是39GS系统导致了不能支持?
3,旧版本的HPGCC功能上和最新版有多大差别?(外面论坛各种被那啥,面对校园网科技手段不灵了)
发表于 2016-2-20 16:27:46 | 显示全部楼层
andy 威武
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-18 22:44 , Processed in 0.095126 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表