项目2:CS61Classify

A部分截止日期:2026年2月26日,星期四,晚上11:59:59(太平洋时间)

B部分截止日期:2026年3月5日,星期四,晚上11:59:59(太平洋时间)

在此项目中,您将编写RISC-V汇编代码,使用简单的机器学习算法对手写数字进行分类。

此项目的目标是让您熟悉RISC-V,特别是调用约定、函数调用、堆的使用、文件交互以及编写一些测试。

办公时间政策

在来访办公时间之前,请确保您已完成以下事项:

  1. 为您函数中的每个寄存器添加描述以指示其用途("这保存i"太过模糊,请尽可能具体,以便我们更容易阅读和理解您的代码。)
  2. 阅读调用约定指南
  3. 使用调用约定检查器并解决检查器捕获的所有调用约定错误(除非您的问题专门涉及如何修复这些错误)。
  4. 使用memcheck并解决所有内存访问错误(除非您的问题专门涉及如何修复这些错误)。
  5. 观看调试视频(链接如下)。

请确保在OH Queue上填写尽可能详细的模板描述。不使用模板或描述非常敷衍的问题(如"它不工作")将被跳过/删除。

调试视频

查看此播放列表,了解如何调试内存和调用约定问题的视频!在来办公时间或在Ed上提问之前,请确保您已观看这些视频。

设置

您必须在本地机器上完成此实验。如需重新设置本地机器,请参阅实验0

项目2特定的错误列在常见错误页面底部。

设置:Git

此作业可以单独完成或与合作伙伴一起完成。

警告:一旦您在Gradar上创建了小组,您将无法更改(添加、删除或交换)此项目的合作伙伴(项目2A和2B都是),因此请在开始项目之前确认您的合作伙伴。您必须在Gradar上和每次Gradescope提交时添加您的合作伙伴。

如果有特殊情况需要更换合作伙伴(例如您的合作伙伴退课、您的合作伙伴没有回应),请私下联系我们。

  1. 访问 Gradar登录注册您的项目2小组(如果您的合作伙伴,则添加您的合作伙伴),然后创建您或您小组的GitHub仓库。如果您有合作伙伴,一个合作伙伴应创建一个小组并邀请另一个合作伙伴加入该仓库。另一个合作伙伴应接受邀请而不创建自己的小组。

  2. 在您的本地机器上克隆仓库(此项目完全不需要hive机器)。Windows用户应在Git Bash中克隆。

    git clone git@github.com:61c-student/sp26-proj2-USERNAME.git 61c-proj2
    

替换 sp26-proj2-USERNAME 为您的GitHub仓库名称)

  1. 导航到您的仓库:

    cd 61c-proj2
    
  2. 添加起始仓库作为远程仓库:

    git remote add starter https://github.com/61c-teach/sp26-proj2-starter.git
    
  3. 拉取起始仓库的代码:

    git pull starter main
    

如果您遇到git问题,请查看常见错误页面。

设置:Java和Python

请确保您已按照实验0的练习2中的本地计算机设置说明进行操作。

设置:Venus

我们将使用Venus网页界面进行调试。过程与实验3中的Venus设置非常相似。

  1. 61c-proj2目录中,运行bash test.sh download_tools为此项目下载Venus。(您只需要运行一次。)

  2. 在您的本地计算机上(不是hive机器),导航到您的61c-proj2目录并运行此命令。Windows用户应在WSL之外运行(推荐使用Git Bash)。

    java -jar tools/venus.jar . -dm
    
  3. 在您的网络浏览器中打开 https://venus.cs61c.org(建议使用Chrome或Firefox)。在Venus网页终端中运行 mount local vmfs。在您的浏览器中,您可能会看到一个提示,说密钥已在Venus挂载服务器上显示!请将其复制并粘贴到此处的对话框中。您应该能够在本地终端输出的最新一行中看到一个密钥(字母和数字的字符串);密钥复制并粘贴到对话框中。

  4. 现在,项目文件已从您的本地计算机加载到Venus网页界面中。在Venus中,您可以打开Files标签页或运行 ls vmfs在Venus终端中查看浏览器中的所有文件。

如果您可以在Venus中看到您的文件,您可以跳过本节的其余部分。如果上述步骤不起作用,您可以按照以下指南手动上传文件。

手动上传文件
  1. 在您的本地计算机或hive机器上,将您的srcteststest-src目录压缩。

  2. 导航到https://venus.cs61c.org,在Venus终端中输入upload

  3. 应该会出现文件上传提示。上传您在步骤1中创建的zip文件。

现在您可以在Venus上编辑和调试您的文件。

要下载您编辑过的任何文件,您可以在Venus终端中运行zip zipname file1 file2 file3。将zipname替换为您希望下载的zip文件的名称。将file1 file2 file3替换为您要下载的文件或目录列表(可以有少于或多于3个文件或目录)。

恢复起始文件

要恢复起始文件,请查看常见错误页面。