打印
[ModusToolbox™]

ModusToolbox™讲堂 | 第二课 - 中国大陆用户使用须知

[复制链接]
1505|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 IFXCharles 于 2023-10-8 18:21 编辑

在上一课,我们简单介绍了ModusToolbox™️以及它的安装。怎么样,你是否要跃跃欲试了呢?
别心急!如果你还没了解下面我们即将讲述的使用须知,就开始凭直觉使用ModusToolbox™️的话,请相信我,你很可能立即会遇到很多令人费解的错误,特别是你在中国大陆境内使用ModusToolbox™️时。
所以,你不妨先阅读一下这一课的内容,再开始上手ModusToolbox™️。话不多说,我们马上开始。

1. ModusToolbox™在中国大陆无法使用?
ModusToolbox™的全称是ModusToolbox™ Tools Package,顾名思义,它只是一个工具包,它安装在计算机本地的内容不包含用于产品验证和开发等的产品开发资源。产品开发资源是需要通过互联网实时获取的。
ModusToolbox™让用户通过互联网实时获取产品开发资源,有其固有的好处:
  • 产品开发资源可以随时在服务器端更新或增删,用户对此无感知或者仅在必要时才感知。故用户无需频繁地安装更新包,这减轻了用户的使用负担。
  • 用户在获取产品开发资源时,拿到的始终是最新的产品示例。故新的更改或成果可以及时推送给用户,这有效保障了用户的权益。
  • 因为ModusToolbox™支持的微处理器产品众多,如果所有的产品开发资源都安装在计算机本地,体积会非常庞大。改成在线下载的形式后,需要的内容在需要时才会出现,这使得产品的设计更轻量,用户的体验更舒适。
这些优点备受用户青睐,所以业内现代的专用IDE产品大都采用了这样的处理方式,这也包括ModusToolbox™。
ModusToolbox™官方的产品开发资源是托管在github.com上的。github.com是一个在线的软件源代码托管服务平台,它在全球范围内赢得了软件从业爱好者的广泛热爱与信赖。然而不幸的是,因为一些原因,它无法在中国大陆境内提供稳定的在线服务。
这间接导致了ModusToolbox™官方的产品开发资源无法按通常方式提供给中国大陆用户,于是他们在使用ModusToolbox™时,会在不同的时机、不同的层级、不同的功能组件中,直接或间接地遇到与网络访问相关的错误或警告,如图0102
图01

图02

这些错误大多在创建工程或更替中间件时发生。不管怎样,这造成了糟糕的用户体验,也让ModusToolbox™在中国大陆境内几乎无法按通常方式提供服务。

2. 如何恢复ModusToolbox™在中国大陆的使用?
对于在中国大陆境内发生的互联网服务阻断,有一些通用的绕行的办法。与此同时,ModusToolbox™也努力为这类地区性的网络异常开发了绕行的解决方案。这些方案各有优缺点,下面简单为大家介绍一下。

2.1 使用VPN更改IP地址出口至境外
深入的调查发现,这类阻断只针对使用中国大陆境内IP地址作为出口的客户端生效(即如果你在中国大陆境外使用ModusToolbox™的话,你大概率不会遇到这类异常),所以一个简单的绕行的办法,就是把你当前的IP地址出口更改至境外即可。基于此原理提供的通用的绕行方案,就是使用VPN。
用户使用了VPN技术之后,你就相当于绕开了ISP提供商的真实网络拓扑,直接连入了提供该VPN服务的提供商的网络当中,于是你的IP地址出口也就随之更改为该提供商的出口。若该VPN服务提供商处在中国大陆境外,你的网络访问也就相应地绕开了中国大陆境内的限制。
VPN实际使用的底层技术种类繁多,不同的提供商会使用不同的技术方案。与此同时,VPN提供商本身在中国大陆境内也会受到不同程度的阻断,故甄别和选择合适的VPN方案和提供商会比较重要,这关乎到你最终恢复ModusToolbox™访问的成功率和用户体验。
因为VPN是第三方提供的通用绕行方案,在此不做过多的介绍和推荐,有需求的用户可以自行了解。

2.2 使用离线包(ModusToolbox™ 3.0或之前)
在ModusToolbox™ 3.0或之前的版本,官方提供了一项称作“离线包”的功能。离线包,顾名思义,是把用户需要使用的在线资源都提前打包成一个资源包放在计算机本地,以供网络访问受限或不接入网络的ModusToolbox™使用。如此便可以绕过网络的限制。
但这个特性在使用上并非逻辑完备,它有如下的缺点:
  • 离线包由官方提供,用户只能下载然后使用。而官方提供的离线包更新速度很慢,所以使用离线包的用户无法及时获得最新的产品开发资源。
  • 离线包无法完整覆盖某些中间件,故在创建依赖这些中间件的工程时仍然会出错。
鉴于此,离线包在后续的ModusToolbox™中被弃用了。但它仍保留给历史版本的ModusToolbox™使用。需要详细了解的用户,请点击此处获取相关信息。

2.3 使用Local Content Storage功能(ModusToolbox™ 3.1或之后)
Local Content Storage(本地内容存储,以下简称lcs)是ModusToolbox™ 3.1正式引入的一项新特性。这个特性旨在替代前述的离线包功能,解决离线包在使用和管理上的一些痛点。
lcs有如下优点:
  • lcs提供了内容生成和管理的机制,并交由用户自主制作自己的本地内容。于是用户可以摆脱对官方的依赖,随时随地制作包含最新内容的本地内容。
  • lcs可以只打包你感兴趣的产品开发资源(亦即生成在线资源的子集),这缩短了本地内容的生成时间,降低了所占的磁盘空间。
换言之,lcs是基于在线资源生成的本地缓存,而且这个本地缓存可以基于用户的意愿随时生成和维护。这使得ModusToolbox™的离线服务趋于逻辑完备和人性化。
当然了,有些物理限制是无法突破的:lcs在生成和更新本地内容时仍需要有不受限的网络访问条件。所以它不能直接帮你解决在中国大陆使用ModusToolbox™时面临的问题。但这项特性至少提供了一种可能:你可以请求其它任何有网络访问条件的用户(比如有VPN条件的用户)代你生成本地内容并把制作好的本地内容打包发送给你,你再拷贝到计算机相应的目录即可。
需要了解lcs详细使用方法的用户,可以参考ModusToolbox™Local Content Storage CLI user guide
更多关于lcs的介绍,可点击此处

2.4 使用第三方中转服务器
欣喜的是,有热心的社区用户注意到了这个广泛存在的问题,并为ModusToolbox™订制了一套特别的绕行方案。该方案可以把ModusToolbox™对github.com的访问请求转换为对某第三方中转服务器的请求,由该第三方中转服务器代为访问github.com,从而恢复了中国大陆用户对ModusToolbox™在线资源的获取。
这个绕行方案被发布在了英飞凌开发者社区,你可以点击此处,查看详细的介绍。
该方案提供了一个有趣的思路来解决这个问题。目前英飞凌正在充分调研该方案,搭建英飞凌官方的稳定高速的中转服务器,来满足中国大陆用户在线获取ModusToolbox™产品开发资源的需求。时机成熟时,英飞凌也会开放给大家使用,让我们翘首以待吧!

如需了解更多信息,请点击:

#申请原创#

使用特权

评论回复
沙发
xu@xupt| | 2023-10-29 20:01 | 只看该作者
很好的资源,**继续更新!!!

使用特权

评论回复
板凳
dawei360| | 2023-11-21 21:22 | 只看该作者

在系统环境变量设置为MTB_USE_LOCAL_CONTENT=true后, Local Content 会一直勾选,无法手动勾选;
这样会导致,如果从Infineon 的GitHub下载代码https://github.com/Infineon/mtb-example-lvgl-demo,则会编译不过;



无法编译异常:
Opening project creator from D:/tools/ModusToolbox/tools_3.1/project-creator/project-creator.exe
Project Creator Status:
Project:          mtb-example-lvgl-demo-master_2
  Location:        D:/mtw/mtb-example-lvgl-demo-master_2
  Status:        failed
  Messages:
                [1]:        there was an error retreiving the asset 'https://github.com/lvgl/lvgl' commit 'v8.3.5' - Cloning into 'release-v8.3.5'..., fatal: unable to access 'https://ghproxy.com/https://github.com/lvgl/lvgl/': Recv failure: Connection reset by peer, command 'D:/tools/ModusToolbox/tools_3.1/modus-shell/bin/bash -c git -C D:/mtw/mtb_shared/lvgl clone --origin cypress --no-checkout https://github.com/lvgl/lvgl release-v8.3.5',   directory '',   child process exited with error code 128
                [2]:        Project 'mtb-example-lvgl-demo-master_2' in application directory 'D:/mtw/mtb-example-lvgl-demo-master_2' - the getlibs operation failed

Unable to import the project: mtb-example-lvgl-demo-master_2. Try "Import Existing Application" from the quick-panel. If issues persist, retry project creator.No new/valid projects found.


使用特权

评论回复
地板
IFX_Charles|  楼主 | 2023-11-22 16:27 | 只看该作者
本帖最后由 IFX_Charles 于 2023-11-22 17:11 编辑
dawei360 发表于 2023-11-21 21:22
在系统环境变量设置为MTB_USE_LOCAL_CONTENT=true后, Local Content 会一直勾选,无法手动勾选;
这样会 ...

MTB_USE_LOCAL_CONTENT=true设置以后的确会无法取消勾选。要允许手动勾选,请取消该变量。你遇到的问题,建议新发起帖子或者到community.infineon.com上面注册账号发帖,方便你得到更全面的响应和支持。

使用特权

评论回复
5
zwsam| | 2023-11-27 09:12 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:英飞凌科技股份公司
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

4

主题

5

帖子

0

粉丝