Giter Site home page Giter Site logo

core-v-mcu-cli-test's People

Contributors

davideschiavone avatar gmartin102 avatar mikeopenhwgroup avatar nngarciaacevedo avatar promodkumar-ashling avatar rickoco avatar someshwar-ms avatar timsaxe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

core-v-mcu-cli-test's Issues

Errors while building cli-test in eclipse

Getting these errors while building the cli-test in eclipse and not able to find the executable in the "cli_test\utils\InterleavedRAMFileGen\bin\Debug" directory in the repository.

Image Pasted at 2022-4-26 13-00

CLI_TEST failures during testing

There are 2 errors found:
1. efpga auto --> RAM test fails
a. This failure only happens whenever "efpga rw" occurs right before calling this command.
2. i2cm0 singlebyte
a. It outputs the i2c address, reg address, and the first access before outputting a FAILURE message.

Is it possible with available header files and c souce codes to generate bare-metal application?

Hello,

I want to create bare-metal implementation.
I figured out that there are hal_gpio_pulp.c and hal_pinmux1.c source files and they are not containing freeRTOS files.
Looks eligible to use their functions for bare-metal application.
Also, core-v mcu config file is not included these files, but pulp_io header file is included. This might be a problem.

So I want to ask if it is possible to design bare-metal application with using these files or others using core-v-sdk?

Read switch display on led

I am trying to read switch value and display it on led using hal functions on nexsys board.

When I read switch value it is always 1 regardless of switch position.

From debugging I get
Hex:0x1116
Binary:1000100010110
for register_value, this shows program excepts gpio_22 as input. What could be the problem?
Is this the right usage of hal_read_status_raw() function.

Here is my code:

int main(void)
{
    prvSetupHardware();

     // SET LED AS OUTPUT

     hal_setpinmux(21,2);
     hal_set_gpio_mode(14,1);

     // SET SWITCH AS INPUT

     hal_setpinmux(29,2);
     hal_setpullup(29,1);
     hal_set_gpio_mode(22,0);

     uint8_t  switch1        = 0;
     uint32_t register_value = 0;

     hal_write_gpio(14,0);
     while(1){
           
 		hal_read_gpio_status_raw(22,&register_value);
 
 		switch1 = (register_value >> 12) & 0x01;
 		
 		if (switch1==1) {
 			hal_write_gpio(14,1);
 		}

 		else {
 			hal_write_gpio(14,0);

 		}

 	}
}

Hardcoded path to gdb

In launch configuration launch/cli_test hs2.launch, the path to gdb is hardcoded:

<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="/opt/corev-openhw-gcc-ubuntu1804-20200913/bin/riscv32-corev-elf-gdb"/>

I was able to edit the file to point to my local install of gdb, but that should not be necessary. Is there a way to remove this from the launch configuration and allow Eclipse to pick up the path from a user configuration?

A2 bootloader stuck on booting from Flash

We applied the instructions to program QSPI Flash (32MB serial NOR Flash memory, Pmod SF3) and then verified that Flash has been programmed (we used flash_peek command in CLI test to read a set of addresses in Flash memory). However, A2 Bootloader does not complete the load operation and seems to have stuck:

Jan 28 2022 14:42:41
A2 Bootloader Bootsel=1 rr=00
Loading Section 00000000 to ffff080

There could be many reasons causing this but I suspect that I use a wrong version of the A2 bootloader. Does the code in main branch correspond to stable version?

Read switch display on led

I am trying to read switch value and display it on led using hal functions on nexsys board.

When I read switch value it is always 1 regardless of switch position.

From debugging I get
Hex:0x1116
Binary:1000100010110

binary value is what register_value holds, this shows program accepts gpio_22 as an input. What could be the problem?
Is this the right usage of hal_read_status_raw() function.

Here is my code:

int main(void)
{
    prvSetupHardware();

     // SET LED AS OUTPUT

     hal_setpinmux(21,2);
     hal_set_gpio_mode(14,1);

     // SET SWITCH AS INPUT

     hal_setpinmux(29,2);
     hal_setpullup(29,1);
     hal_set_gpio_mode(22,0);

     uint8_t  switch1        = 0;
     uint32_t register_value = 0;

     hal_write_gpio(14,0);
     while(1){
           
 		hal_read_gpio_status_raw(22,&register_value);
 
 		switch1 = (register_value >> 12) & 0x01;
 		
 		if (switch1==1) {
 			hal_write_gpio(14,1);
 		}

 		else {
 			hal_write_gpio(14,0);

 		}

 	}
}

Find USB ports

The section of code in autorun.sh of finding the USB ports does not consistently find the Nexys A7 port.

Error: dtmcontrol is 0. Check JTAG connectivity/board power.

When I run with cli_test hs2, there are some error like below:
`**Open On-Chip Debugger 0.11.0

Licensed under GNU GPL v2

For bug reports, read

http://openocd.org/doc/doxygen/bugs.html

Info : clock speed 5000 kHz

Info : JTAG tap: riscv.cpu tap/device found: 0x43651093 (mfg: 0x049 (Xilinx), part: 0x3651, ver: 0x4)

Error: dtmcontrol is 0. Check JTAG connectivity/board power.

Warn : target riscv.cpu examination failed

Info : starting gdb server for riscv.cpu on 3333

Info : Listening on port 3333 for gdb connections

Error: Target not examined yet**
`
How to resovle these error? thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.