LoongArch32 指令集探索学习1:初入龙芯

1. 1.发现问题

1.1. LoongArch是个啥?

龙芯这个名字一听就是咱这龙的传人该用的东西,这是从MIPS指令集中新设计的指令集,官方名字叫LoongArch,简称LA。这个指令集分为开放的LoongArch32精简版和LoongArch64,前者的32位指令集全部开源,后者64位只开放基础指令集,高级部分的二进制翻译暂且没有详细文档,而是由开发者在对GCC、Linux等基础软件贡献中露出。

为何选MIPS?
唐志敏仔细分析多种指令系统后,最终决定选择采用RISC结构的MIPS指令系统。

这是一种兼容方案,主要是出于市场考虑:MIPS应用面比较广,服务器和嵌入式系统都可以用;同时,技术壁垒比较低,知识产权障碍较少。
——《孕育“龙芯”的478个日夜》|《中国科学报》,2024年8月23日

从龙芯开始设计的2001年到现在的2024年,龙芯团队已经整整奋斗了23年,国家IT产业体系全自主化目标很快就要实现了。龙芯一号的小名叫“狗剩”,音译为“Godson”。

在这黎明前的曙光期,在大学期间的2021年刚释放出LoongArch,就对其产生了极大的兴趣,但是苦于入门困难,很难在我能承受的经济范围内拿到一片龙芯的开发板进行研究。

1.2. LoongArch32

到现在2024年,我看到龙芯与合作伙伴推出了基于LS2K0300芯片的久久派开发板,只要99¥就能拥有一个LoongArch64指令集架构的开发板,性价比非常高,我也入手了。在使用的时候发现,用裸机开发的思路似乎挺难搞,对Linux和Uboot也不甚熟悉。于是想:龙芯有没有嵌入式的开发板,对标STM32F103这样的呢?

于是我找到了LoongArch32架构的两款芯片:ls1C102和ls1C103,其中102有64引脚、6路ADC和SPI、UART、IIC若干,能用于物联网,同时也有LoongIDE移植好的RT-Thread、FreeRTOS等实时操作系统,能和我目前的一个开发需求吻合。何不尝试一下使用全国产的芯片呢?

然后我就在淘宝找到了龙芯的销售,试探性买了几片1C102和1C103的芯片,自己做个开发板。5r的芯片售价确实能承受了,总体做成一顿饭钱的开发板,非常香。

1.3. 开发板制作

第一个龙芯的开发板,我做的是ls1c103芯片的小开发板,能插在面包板上,留出了JTAG的接口。

1.4. 程序烧录

怎么烧录程序呢?有两种办法:

一种是LS1C103使用SPI协议,外接SPI Flash,用烧录器烧录程序。最大支持256MB。还可以用“安装模式”,从外部Flash中读取程序,给内置Flash和连接的SPI Flash烧写程序。“安装模式”是方便工业生产出厂烧
录程序使用的,对个人玩家暂且还没有样例程序。

另一种是使用JTAG调试器连接LS1C103芯片开发板。而JTAG调试器可选LA-LINK(128r)、LX-LINK(?¥)和原厂的EJTAG(980),价格从低到高。于是我选择了价格最低的方案,LA-LINK是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值