<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>riscv on K155LA3</title>
    <link>https://k155la3.blog/tags/riscv/</link>
    <description>Recent content in riscv on K155LA3</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 19 Apr 2020 00:00:00 +0000</lastBuildDate>
    
      <atom:link href="https://k155la3.blog/tags/riscv/index.xml" rel="self" type="application/rss+xml" />
    
    
      <item>
        <title>Learning embedded Rust by building RISC-V-powered robot - Part 4</title>
        <link>https://k155la3.blog/2020/04/19/learning-embedded-rust-by-building-riscv-powered-robot-part-4/</link>
        <pubDate>Sun, 19 Apr 2020 00:00:00 +0000</pubDate>
        <guid>https://k155la3.blog/2020/04/19/learning-embedded-rust-by-building-riscv-powered-robot-part-4/</guid>
        <description>Now that we developed a high-level Servo trait that allows controlling servo motors, we can start writing code that will animate our spider bot by rotating multiple motors synchronously. The idea is that the robot&amp;rsquo;s movement takes some fixed amount of time during which each moving motor may travel a different angle. Importantly, all moving motors should start and stop at the same time, and therefore, they will have different angular speeds.</description>
      </item>
    
      <item>
        <title>Learning embedded Rust by building RISC-V-powered robot - Part 3</title>
        <link>https://k155la3.blog/2020/04/04/learning-embedded-rust-by-building-riscv-powered-robot-part-3/</link>
        <pubDate>Sat, 04 Apr 2020 00:00:00 +0000</pubDate>
        <guid>https://k155la3.blog/2020/04/04/learning-embedded-rust-by-building-riscv-powered-robot-part-3/</guid>
        <description>In the previous part, we were able to control the servo motor by writing to PWM registers of the FE310 microcontroller. Now it&amp;rsquo;s time to have more fun with Rust by writing high-level servo motor abstraction that is suitable for controlling multiple servo motors in a uniform fashion.
The HAL expresses such abstractions as Rust traits with the goal of making code more portable between different embedded platforms.
The core functionality of the servo motor is captured in the Servo trait.</description>
      </item>
    
      <item>
        <title>Learning embedded Rust by building RISC-V-powered robot - Part 2</title>
        <link>https://k155la3.blog/2020/03/28/learning-embedded-rust-by-building-riscv-powered-robot-part-2/</link>
        <pubDate>Sat, 28 Mar 2020 00:00:00 +0000</pubDate>
        <guid>https://k155la3.blog/2020/03/28/learning-embedded-rust-by-building-riscv-powered-robot-part-2/</guid>
        <description>The ALLBOT spider uses the 9G servo motors to animate its legs. The Arduino implementation uses a built-in servo library that allows assigning servo instance to a pin and then writing desired orientation degrees between 0 and 180. The e310x HAL does not have servo implementation, nor the Embedded HAL have the servo trait. Time to face the hardware at the lowest level!
The first thing is to find the datasheet for the 9G servo motor.</description>
      </item>
    
      <item>
        <title>Learning embedded Rust by building RISC-V-powered robot - Part 1</title>
        <link>https://k155la3.blog/2020/03/21/learning-embedded-rust-by-building-riscv-powered-robot-part-1/</link>
        <pubDate>Sat, 21 Mar 2020 00:00:00 +0000</pubDate>
        <guid>https://k155la3.blog/2020/03/21/learning-embedded-rust-by-building-riscv-powered-robot-part-1/</guid>
        <description>After reading The Rust Programming Language book and falling in love with the language, I was on the lookout for my first Rust project. In the &amp;ldquo;old hardware projects&amp;rdquo; box, I had a HiFive1 board with SiFive FE310 RISC-V microcontroller, and Velleman&amp;rsquo;s Arduino based ALLBOT spider robot. Replacing Arduino with HiFive1 and rewriting ALLBOT&amp;rsquo;s C-based firmware from the ground up in Rust felt exciting!
I knew that Rust targeted RISC-V, but it even had the support specifically for the HiFive1 board!</description>
      </item>
    
  </channel>
</rss>
