ghs.google.com又被墙了

昨天发现我的网站(www.apihi.com)无法访问了,我先联系了万网,确定他们那边没有干扰域名的CName设置。

我随后想到是google有没有可能被墙了,上网一查果然有很多这样的文章。今天转过来一篇,解决中国特色的GAE绑定域名方法。

--

我用的是ghs.leafz.net,目前可以使用。

【转自】http://chenfangyi.com/google-app-ghs-gfw.html

Google的App服务可以用两种地址来访问,一种是在google域内,比如www.google.com/a/chenfangyi.com/的形式,一种是在自定义域内,比如mail.chenfangyi.com的形式,后者只需要在google App设置里设置为自定义的域名,然后设置域名的Cname到ghs.google.com。

但问题来了,这个ghs.google.com在国内被墙了,直接按google默认要求的做是无法使用自定义域名访问App服务的,我找到下面四种方法来绕过这个限制。

第一种方法:把要做映射的域名(比如mail.chenfangyi.com)做A记录到一个没有被墙的ghs.google.com的ip。这个 IP可以通过国外代理ping得到,也可以通过google去找,比如66.249.91.121;这个方法的缺点是一旦这个IP被封,则所有已经做的记 录都必须更改,还得等所有A记录在全球生效。

第二种方法:把任意一个域名或二级域名(比如chs.chenfangyi.com)做A记录到一个没有被墙的ghs.google.com的 IP,然后在需要做映射的域名上,创建CNAME到chs.chenfangyi.com就等同于ghs.google.com。这个方法的优点是当这个 IP被封的话,只需修改做A记录的那个域名的IP,比较方便。

第三种方法:这个方法的原理跟第二种是一样的,只是不用自己来做这个ghs映像,而用互联网上其他人已经做好的,我找到了两个比较多人用的:Matrix Chou 的ghs.sinoestate.com和 James Fang 的ghs.leafz.net。 (实际上自己做ghs映像理论上都有被GFW的风险,绑定到国外IP上的域名都有被GFW的可能性,所以非常重要的域名就不要绑定到国外IP),为何要选 择比较多的人用的镜像呢?因为比较多人用的话,ghs镜像的域名所有者就会有点服务意识,当IP被封的话,可以及时更改镜像的A记录指向,当然,也可能他 并不维护这个IP指向。这种方法最方便,但稳定性、自主性、安全性无法保证。

第四种方法:这种方式不是真正的自定义域名,而仅仅是转发。方法很简单,如果你所在的域名解析服务商有转发服务的话,那直接把 mail.chenfangyi.com转发到Google App的登陆地址,不过国内DNS服务商的此类服务越来越少且不稳定了(跟监管有关,比如DNSPod老早就停止了这项服务)。如果有自己的空间或服务 器,可以自己做转发。(做A记录到一个IP,然后用自己空间上的程序做转发)。

目前ghs.sinoestate.com指向的IP209.85.171.121可以访问,因为我使用DNSPod的域名解析,改起A记录来很方便,所以使用第一种方法。

=====

A记录   216.239.32.21

现在这个ip也不好使了。

nnd

使用URL转发吧,好歹能访问主页。

--
<think>好的,我现在需要解决用户的问题:如何使用GHS工具生成.bin文件,并提供方法和配置教程。首先,我需要回忆GHS编译器的相关知识,或者查找相关资料来确保回答的准确性。 用户提到了参考的引用内容,特别是引用[2]和[3],其中引用[2]提到在GHS中集成DaVinci Configurator生成的代码,添加模块的.c和.h文件,以及使用命令行工具。引用[3]则涉及链接脚本的配置,比如autosar_flash.ld文件中的起始地址定义。这可能与生成二进制文件时的内存布局有关。 首先,生成.bin文件通常是在编译、链接之后,通过转换工具将可执行文件(如ELF格式)转换为二进制镜像。GHS编译器套件中的链接器可能生成ELF文件,然后使用objcopy或类似的工具来生成.bin。但GHS可能有自己的工具链命令,比如常用的gbuild或者可能使用post-build步骤中的命令。 我需要确定GHS工具链中生成.bin文件的具体命令。通常,这个过程可能涉及以下几个步骤: 1. 编写或配置链接脚本(.ld文件),确保代码和数据段的地址正确,如引用[3]中的例子。 2. 编译和链接工程,生成.elf或.out文件。 3. 使用GHS提供的工具(如elxr2bin或类似的工具)将ELF文件转换为.bin格式。 此外,可能需要在工程配置中设置post-build步骤,自动执行转换命令。例如,在Multi IDE中,可能需要在构建步骤中添加自定义命令,调用elxr2bin或者其他转换工具。 还需要注意目标处理器的架构,比如用户提到的RH850或MPC5746C,不同架构可能有不同的工具选项。例如,对于ARM架构,可能使用不同的交叉编译工具链,但GHS一般会统一工具命令。 可能的问题点:用户是否已经正确配置了工程并生成了可执行文件,只是需要最后一步转换?需要指导用户如何在GHS环境中执行转换命令,或者如何在Makefile中添加相应的命令。 根据引用[2],用户在Sample文件夹下选择空工程,并添加相关代码,所以可能是在工程属性中设置生成.bin的选项,或者手动运行转换工具。例如,在GHS的编译流程中,可能需要在构建后步骤中添加elxr2bin命令,例如: elxr2bin --output=output.bin input.elf 此外,可能还需要确保链接脚本中的地址正确,避免.bin文件生成时地址不连续导致的问题,这可能需要检查链接脚本中的内存区域定义。 需要验证这些步骤是否正确,或者是否有其他需要注意的配置选项。例如,GHS的gbuild是否有生成二进制文件的选项,或者是否需要在命令行参数中添加特定标志。 总结步骤可能如下: 1. 配置工程,确保正确编译链接生成ELF文件。 2. 使用GHS工具将ELF转换为BIN,可能通过命令行工具或在IDE中设置。 3. 验证生成的.bin文件是否正确,例如通过烧录测试。 用户可能需要具体的命令行示例,比如如何调用elxr2bin或其他工具,以及如何处理不同的内存区域,例如排除某些段或指定起始地址。 另外,引用[1]中的编译内核生成头文件的命令可能与GHS无关,但用户提供的引用可能提示需要交叉编译环境,所以需要注意在命令中指定CROSS_COMPILE等参数,但生成.bin可能不需要这些,而是工具链的一部分。 最终,我需要整理这些思路,分步骤说明如何配置GHS工程,添加构建后步骤,使用正确的命令生成.bin文件,并引用相关参考资料中的信息,如链接脚本的配置和命令行工具的使用。</think>在Green Hills Software (GHS) 工具链中生成二进制文件(.bin)的步骤如下: --- ### **步骤1:配置工程链接脚本** 确保链接脚本(如`autosar_flash.ld`)正确定义内存布局,尤其是代码段的起始地址和大小。例如: ```ld MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 512K RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } ``` 此配置确保编译器正确生成可执行文件的地址映射[^3]。 --- ### **步骤2:编译生成ELF文件** 使用GHS编译器(如`gbuild`)编译工程,生成ELF格式的可执行文件(如`.out`或`.elf`)。 示例命令行(针对ARM架构): ```bash gbuild -cpu=arm -os=integrity -config=debug my_project.gpj ``` --- ### **步骤3:使用`elxr2bin`工具转换格式** GHS提供`elxr2bin`工具将ELF文件转换为二进制格式。在命令行中执行: ```bash elxr2bin --output=output.bin input.out ``` 或指定地址范围(如需提取特定段): ```bash elxr2bin --address=0x00000000-0x0000FFFF --output=code.bin input.out ``` --- ### **步骤4:集成到构建流程** 在GHS Multi IDE中配置**构建后步骤**,自动执行转换: 1. 右键工程 -> **Properties** -> **Build Settings** -> **Post-Build Steps**。 2. 添加命令:`elxr2bin $(OutputFile) --output=output.bin`。 --- ### **验证生成结果** 使用二进制查看工具(如`hexdump`或`objdump`)检查.bin文件: ```bash hexdump -C output.bin ``` --- ### **关键注意事项** 1. **地址对齐**:确保链接脚本中定义的地址连续,避免二进制文件出现空洞。 2. **交叉编译工具链**:若目标为ARM或RH850,需在命令中指定架构,例如: ```bash elxr2bin --target=rh850 input.out output.bin ``` 3. **段过滤**:可通过`--section`参数提取特定段(如`.text`或`.data`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值