<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><description>Table of Contents

 Introduction 
 Microcontroller Overview 
 What’s Needed to Get Started? 
 Development Environment 
 Editing the Default Code 
 Building (Compiling) the Code 
 Running the Code 
 Build Your Own Board 
 Coding 

 General Purpose Input</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Sun, 08 Dec 2024 19:53:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>thetrueman</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Very informative article about classic CH32V. I would like to see this microcontroller to be used with Quadrature Encoder Up/Down Counter. Any Example is welcomed. Thanks.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Wed, 17 Apr 2024 10:14:56 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>Henrik</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Thank you for the informative post.&lt;/p&gt;
&lt;p&gt;I have successfully completed several projects using the Ch552 8-bit version of the CH32, a robust CPU.&lt;/p&gt;
&lt;p&gt;I utilize the CMD line compiler SDCC (small device C compiler), an excellent tool.&lt;/p&gt;
&lt;p&gt;In my next project, I will experiment with the CH32 thanks to your helpful article.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Henrik Andersen&lt;/p&gt;
&lt;p&gt;&lt;span&gt;LinkedIn &amp;nbsp;&lt;/span&gt;&lt;a id="" href="http://linkedin.com/in/uhat"&gt;http://linkedin.com/in/uhat&lt;/a&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Fri, 23 Feb 2024 01:03:12 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I tried the external interrupts, this code worked for me. It configures rising/falling interrupts on pins PC0 and PC1, and when there is no activity on those pins for longer than a second, then an LED on pin PC3 or PC4 will blink rapidly. It&amp;#39;s a dual-channel keep-alive type of monitor basically (I needed it for a project).&lt;/p&gt;
&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:c8cba908-c0a1-4d5c-a22c-d88105da8502:type=c_cpp&amp;text=%2F%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%20%2A%20main.c%0D%0A%20%2A%20synth_monitor%0D%0A%20%2A%20rev%201%20-%20shabaz%20-%20Feb%202024%0D%0A%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2F%0D%0A%0D%0A%2F%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%20%2A%20Connections%0D%0A%20%2A%20PC0%20-%20ADF4001%20MUX%20pin%20%28Lock%20Detect%29%20input%0D%0A%20%2A%20PC1%20-%20MAX2870%20LD%20pin%20%28Lock%20Detect%29%20input%0D%0A%20%2A%20PC3%20-%20AD_OOL%20%28ADF4001%20Out%20of%20Lock%20LED%20output%29%0D%0A%20%2A%20PC4%20-%20MAX_OOL%20%28MAX2870%20Out%20of%20Lock%20LED%20output%29%0D%0A%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2F%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20includes%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%23include%20%22debug.h%22%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20defines%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%23define%20FOREVER%201%0D%0A%23define%20TIMER_START_VAL%2010%0D%0A%23define%20LED_PC3_ON%20GPIO_SetBits%28GPIOC%2C%20GPIO_Pin_3%29%3B%0D%0A%23define%20LED_PC3_OFF%20GPIO_ResetBits%28GPIOC%2C%20GPIO_Pin_3%29%3B%0D%0A%23define%20LED_PC4_ON%20GPIO_SetBits%28GPIOC%2C%20GPIO_Pin_4%29%3B%0D%0A%23define%20LED_PC4_OFF%20GPIO_ResetBits%28GPIOC%2C%20GPIO_Pin_4%29%3B%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20global%20variables%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0Auint16_t%20hold_timer_0%20%3D%200%3B%0D%0Auint16_t%20hold_timer_1%20%3D%200%3B%0D%0Auint8_t%20led_pc3_state%20%3D%200%3B%0D%0Auint8_t%20led_pc4_state%20%3D%200%3B%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20function%20prototypes%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0Avoid%20EXTI7_0_IRQHandler%28void%29%20__attribute__%28%28interrupt%28%22WCH-Interrupt-fast%22%29%29%29%3B%0D%0A%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20functions%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0Avoid%20pc3_toggle_led%28void%29%20%7B%0D%0A%20%20%20%20led_pc3_state%20%5E%3D%201%3B%0D%0A%20%20%20%20if%20%28led_pc3_state%29%20%7B%0D%0A%20%20%20%20%20%20%20%20LED_PC3_ON%3B%0D%0A%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20LED_PC3_OFF%3B%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Avoid%20pc4_toggle_led%28void%29%20%7B%0D%0A%20%20%20%20led_pc4_state%20%5E%3D%201%3B%0D%0A%20%20%20%20if%20%28led_pc4_state%29%20%7B%0D%0A%20%20%20%20%20%20%20%20LED_PC4_ON%3B%0D%0A%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20LED_PC4_OFF%3B%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Avoid%20out_gpio_init%28void%29%20%7B%0D%0A%20%20%20%20GPIO_InitTypeDef%20GPIO_InitStructure%20%3D%20%7B0%7D%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20enable%20periph%20clock%20for%20GPIOC%0D%0A%20%20%20%20RCC_APB2PeriphClockCmd%28RCC_APB2Periph_GPIOC%2C%20ENABLE%29%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20configure%20PC3%20as%20output%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Pin%20%3D%20GPIO_Pin_3%3B%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Mode%20%3D%20GPIO_Mode_Out_PP%3B%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Speed%20%3D%20GPIO_Speed_2MHz%3B%0D%0A%20%20%20%20GPIO_Init%28GPIOC%2C%20%26GPIO_InitStructure%29%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20configure%20PC4%20as%20output%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Pin%20%3D%20GPIO_Pin_4%3B%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Mode%20%3D%20GPIO_Mode_Out_PP%3B%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Speed%20%3D%20GPIO_Speed_2MHz%3B%0D%0A%20%20%20%20GPIO_Init%28GPIOC%2C%20%26GPIO_InitStructure%29%3B%0D%0A%7D%0D%0A%0D%0Avoid%20ext_int_init%28void%29%20%7B%0D%0A%20%20%20%20GPIO_InitTypeDef%20GPIO_InitStructure%20%3D%20%7B0%7D%3B%0D%0A%20%20%20%20EXTI_InitTypeDef%20EXTI_InitStructure%20%3D%20%7B0%7D%3B%0D%0A%20%20%20%20NVIC_InitTypeDef%20NVIC_InitStructure%20%3D%20%7B0%7D%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20enable%20periph%20clock%20for%20AFIO%20and%20GPIOC%0D%0A%20%20%20%20RCC_APB2PeriphClockCmd%28RCC_APB2Periph_AFIO%20%7C%20RCC_APB2Periph_GPIOC%2C%20ENABLE%29%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20configure%20PC0%20as%20input%20with%20pull-up%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Pin%20%3D%20GPIO_Pin_0%3B%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Mode%20%3D%20GPIO_Mode_IPU%3B%0D%0A%20%20%20%20GPIO_Init%28GPIOC%2C%20%26GPIO_InitStructure%29%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20configure%20PC1%20as%20input%20with%20pull-up%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Pin%20%3D%20GPIO_Pin_1%3B%0D%0A%20%20%20%20GPIO_InitStructure.GPIO_Mode%20%3D%20GPIO_Mode_IPU%3B%0D%0A%20%20%20%20GPIO_Init%28GPIOC%2C%20%26GPIO_InitStructure%29%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20enable%20EXTI0%20interrupt%20for%20PC0%0D%0A%20%20%20%20GPIO_EXTILineConfig%28GPIO_PortSourceGPIOC%2C%20GPIO_PinSource0%29%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_Line%20%3D%20EXTI_Line0%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_Mode%20%3D%20EXTI_Mode_Interrupt%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_Trigger%20%3D%20EXTI_Trigger_Rising_Falling%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_LineCmd%20%3D%20ENABLE%3B%0D%0A%20%20%20%20EXTI_Init%28%26EXTI_InitStructure%29%3B%0D%0A%0D%0A%20%20%20%20%2F%2F%20enable%20EXTI1%20interrupt%20for%20PC1%0D%0A%20%20%20%20GPIO_EXTILineConfig%28GPIO_PortSourceGPIOC%2C%20GPIO_PinSource1%29%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_Line%20%3D%20EXTI_Line1%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_Mode%20%3D%20EXTI_Mode_Interrupt%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_Trigger%20%3D%20EXTI_Trigger_Rising_Falling%3B%0D%0A%20%20%20%20EXTI_InitStructure.EXTI_LineCmd%20%3D%20ENABLE%3B%0D%0A%20%20%20%20EXTI_Init%28%26EXTI_InitStructure%29%3B%0D%0A%0D%0A%20%20%20%20NVIC_InitStructure.NVIC_IRQChannel%20%3D%20EXTI7_0_IRQn%3B%0D%0A%20%20%20%20NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority%20%3D%200%3B%0D%0A%20%20%20%20NVIC_InitStructure.NVIC_IRQChannelSubPriority%20%3D%201%3B%0D%0A%20%20%20%20NVIC_InitStructure.NVIC_IRQChannelCmd%20%3D%20ENABLE%3B%0D%0A%20%20%20%20NVIC_Init%28%26NVIC_InitStructure%29%3B%0D%0A%0D%0A%7D%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20interrupt%20handlers%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0Avoid%20EXTI7_0_IRQHandler%28void%29%20%7B%0D%0A%20%20%20%20%2F%2F%20PC0%0D%0A%20%20%20%20if%28EXTI_GetITStatus%28EXTI_Line0%29%21%3DRESET%29%20%2F%2F%20PC0%20interrupt%20occurred%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20hold_timer_0%20%3D%20TIMER_START_VAL%3B%0D%0A%20%20%20%20%20%20%20%20LED_PC3_OFF%3B%0D%0A%20%20%20%20%20%20%20%20EXTI_ClearITPendingBit%28EXTI_Line0%29%3B%20%20%2F%2F%20clear%20interrupt%20flag%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20%2F%2F%20PC1%0D%0A%20%20%20%20if%20%28EXTI_GetITStatus%28EXTI_Line1%29%21%3DRESET%29%20%2F%2F%20PC1%20interrupt%20occurred%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20hold_timer_1%20%3D%20TIMER_START_VAL%3B%0D%0A%20%20%20%20%20%20%20%20LED_PC4_OFF%3B%0D%0A%20%20%20%20%20%20%20%20EXTI_ClearITPendingBit%28EXTI_Line1%29%3B%20%20%2F%2F%20clear%20interrupt%20flag%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%20main%20function%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%2F%2F%20%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%0D%0A%0D%0Aint%0D%0Amain%28void%29%0D%0A%7B%0D%0A%20%20%20%20NVIC_PriorityGroupConfig%28NVIC_PriorityGroup_2%29%3B%0D%0A%20%20%20%20SystemCoreClockUpdate%28%29%3B%0D%0A%20%20%20%20Delay_Init%28%29%3B%0D%0A%0D%0A%20%20%20%20out_gpio_init%28%29%3B%20%2F%2F%20configure%20PC3%20and%20PC4%20as%20outputs%20%28LEDs%29%0D%0A%20%20%20%20ext_int_init%28%29%3B%20%2F%2F%20configure%20PC0%20and%20PC1%20as%20external%20interrupts%0D%0A%0D%0A%20%20%20%20%2F%2F%20set%20hold%20timers%20to%200%2C%20i.e.%20assume%20both%20PLLs%20are%20out%20of%20lock%0D%0A%20%20%20%20hold_timer_0%20%3D%200%3B%0D%0A%20%20%20%20hold_timer_1%20%3D%200%3B%0D%0A%0D%0A%20%20%20%20while%28FOREVER%29%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20Delay_Ms%28100%29%3B%0D%0A%20%20%20%20%20%20%20%20if%20%28hold_timer_0%29%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20hold_timer_0--%3B%0D%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20pc3_toggle_led%28%29%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20if%20%28hold_timer_1%29%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20hold_timer_1--%3B%0D%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20pc4_toggle_led%28%29%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20return%280%29%3B%20%2F%2F%20warning%20on%20this%20line%20is%20fine%21%0D%0A%7D%0D%0A]&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Tue, 13 Feb 2024 20:22:23 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>DAB</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Have you had a chance to check the analog section and ADC stability?&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Tue, 13 Feb 2024 13:58:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;An _extremely_ useful URL containing documents with resource links to a variety of RISC-V devices:&lt;/p&gt;
&lt;p&gt;&lt;a id="" href="https://codeberg.org/20-100/Awesome_RISC-V" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://codeberg.org/20-100/Awesome_RISC-V&lt;/a&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Mon, 12 Feb 2024 17:52:13 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Decided to learn a bit about RISC-V, to compare and contrast!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I bought this book on the back of the fact that one of the authors (David Patterson) is a well-known processor guru. The book is a bit thin (Amazon-published) and mainly covers the architecture from an instruction-set perspective, it would also have been nice to see at least block diagrams of the internals of example implementations, but&amp;nbsp;it is what it is. The book does not specifically cover RV32E (embedded variant), but apparently the high-level difference between that and RV32I (integer variant) is slight; reduced number of registers (and some compression of instruction length with the EC variant). I don&amp;#39;t have any comments on the rest of the book contents currently.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="508" src="/resized-image/__size/1250x1016/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-ad86b427-e047-4a91-92ad-f2af7834dc75/arm_2D00_riscv_2D00_books.jpg" width="625" /&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Mon, 12 Feb 2024 17:21:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>genebren</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Interesting parts and post. I might have to try some of these pieces out some time.&amp;nbsp; Thanks for sharing!&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Low-Cost Microcontrollers: Using a CH32V003 RISC-V Device!</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/low-cost-microcontrollers-using-a-ch32v003-risc-v-device</link><pubDate>Mon, 12 Feb 2024 10:24:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ad86b427-e047-4a91-92ad-f2af7834dc75</guid><dc:creator>michaelkellett</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Thanks very much for this - helps crystallise my thoughts re. cheap RiscV parts:&lt;/p&gt;
&lt;p&gt;Interesting how closely they have cloned the ST library format for their peripheral control code.&lt;/p&gt;
&lt;p&gt;Easy for us to learn but shows a lack of innovation and is maybe a missed opportunity. Might also be subject to litigation. It&amp;#39;s a huge contrast with GigaDevices who went out of their way to rename every single pin and register in their ST ARM &amp;quot;clones&amp;quot; and have a quite different library code structure.&lt;/p&gt;
&lt;p&gt;Comparing with the real thing&lt;/p&gt;
&lt;p&gt;STM32G030F6P6, 32kfkash, 8k RAM, 64MHz, 20 pins &amp;pound;1.16 each for 10 - so I think I&amp;#39;d stick with ST and ARM unless the numbers were huge and the application not at all demanding.&lt;/p&gt;
&lt;p&gt;The ST Nucleo for the STM32G030F6P6 is only &amp;pound;9.29 so dev tool and 5 chips (at Farnell prices) will set you back &amp;pound;16.19.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;MK&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=27632&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>