Programming Arm Cortex M0 with Atmel Studio - arm

I am planning on using the DA14581 SoC which is based on the ARM® Cortex®-M0 processor and programming it should be possible via Atmel Studio. I would like to not have to buy any other products in order to develop this product.
I have a fresh install of Atmel Studio 7 and the device is connected over UART to connect to USB.
How do I go about creating the correct file type and uploading the code to the chip?

Related

parallella fpga : how to give an interrupt from pl to arm ps

I successfully implemented an "[accelerator in 15 minutes]"1 on parallella board. Now I need to send an interrupt from pl to ps. So I connected it to IRQ_F2P of Zynq processing system.
Now, how can I get this interrupt in arm processor?
Usual interrupt example using "XILINX SDK" tool which uses a JTAG. But in parallella , I don't have a JTAG. (I am coping the program to SD card and execute it from SD card using Ubuntu). So any suggestions are most welcome.
So for parallella, I tried to use the Xilinx SDK, but the header files are creating an error..
My one more doubt is "Is it possible to create a bsp using sdk tool and copy it into sd card and then make it run on parallella board. Will it work ?
If not, how do we get this interrupt in arm processor, because all example uses Xilinx header files like "xparameters.h, xil_printf.h, xcugic.h, etc" and these are connected to many other Xilinx functions.

How to connect on Nucleo with GDB?

I am using arm-none-eabi toolchain to create binary file for Nucleo which I then flash to the Nucleo using the USB virtual storage device it provides.
I am compiling the program with -ggdb. But how could I possibly connect to the nucleo and execute breakpoints on it? I can't even imagine how could it work, but I'm complete beginner.
Can I connect? How?
Yes you can connect, at least from a Linux host. I never tried from Windows system. Use OpenOCD to open a debug port and connect gdb (used arm-none-eabi-gdb) to this port with "gdb extended-remote" command. I am using this method from Linux host PC to connect to a custom board based on STM32L4 series for debugging and collecting log messages. Nucleo boards are also using the same series of STM controller.
For what it's worth there's a free IDE call EMBlocks that I've used in the past. I think the new version is called EMBitz https://www.embitz.org/
I've used it to both flash the STM32 Nucleo boards as well as debug the flashed image file.
A quick search also turns up this website that seems to indicate you can use GDB with the stlink utility. https://openenergymonitor.org/emon/node/6189

Trying to port Linux kernel on RISC-V Rocket chip

We have looked the u-boot support from www.denx.de webpage, but we could not able find support for RISC-V.
So where can we find the u-boot support for RISC-V chip.
The "www.lowrisc.org" web page says RISC-V should use BBL (Berkeley bootloader) for loading the Linux kernel.
We are not clear about the process for developing the BBL based boot image, since it required FSBL (first stage bootloader) image development and the FSBL is associated to Vivado SDK.
Note: Bootloader which we are looking for is not for simulation
There is message in the mailing list from 14 Feb 2017 about u-boot for risc-v: https://groups.google.com/a/groups.riscv.org/forum/#!topic/sw-dev/j63wzz2ylY8
U-Boot port on RISC-V 32-bit is available on github.
https://github.com/Microsemi-SoC-IP/RISC-V_U-Boot
This repository contains the U-Boot port by Microsemi for RISC-V core
on Smartfusion2 M2Sxxx devices. The Smartfusion2 M2S150 FPGA Advance
Dev Kit is used for RISC-V U-Boot and the FPGA design available at
RISCV-on-Microsemi-FPGA.
The site of this project is https://github.com/Microsemi-SoC-IP/RISC-V_U-Boot
Development repository for RISC-V U-Boot on Microsemi FPGA
This repository contains the U-Boot created by Microsemi for RISC-V core on Smartfusion2 M2Sxxx devices. The Smartfusion2 M2S150 FPGA Advance Dev Kit is used for RISC-V U-Boot and the FPGA design available at RISCV-on-Microsemi-FPGA.
PS: FSBL is specific to Xilinx SoC "Zynq"; but BBL itself should be independent from FPGA vendor. Check also Untethered lowRISC: http://www.lowrisc.org/blog/2015/12/untethered-lowrisc-release/ http://www.lowrisc.org/docs/untether-v0.2/. Second page has http://www.lowrisc.org/docs/untether-v0.2/bootload/ about boot process and BBL just should be copied to RAM by risc-v "first stage bootloader" ($TOP/fpga/board/$FPGA_BOARD/examples/boot.c) in case of Untethered (this is not FSBL of Zynq); then risc-v "first stage bootloader" will do softreset to restart cpu from BBL which will load linux kernel.

How load not OS Application with at91bootstrap bootloader on ATMEL ARM 9 Procesoor

I want to Load my application with AT91BootStrap bootloader instead of U-boot and OS.
My Chip is Atmel ARM 9 processor.( AT91SAMX25)
How i Can do it, what is the constrains of application and compile.
Is there any sample for it.

Arduino code Wire ported to Atmel Xplained Mini to communicate with DS3231

I am taking Arduino Prototype code used for a DS3231 RTC and taking it to an embedded platform that does not directly support Arduino code (right now that is the Atmel Xplained Mini). Is there a way for me to create an equivalent program without writing an entire I2C protocol and the entire data communication from scratch? There must be an overlapping library/header/code block that I can adapt to my purpose.
As an example I am looking to make the code here work on the Atmel Xplained Board. The code should be pretty simple, what I need is for the DS3231 to tell the MCU the time when it asks for it. I can do the manipulation of the date/time myself, it is getting that information on a non-Arduino platform that is the road block for me.
Arduino has an existing wiring library that facilitates I2C communication, most professional development frameworks aren't quite so simple but are also more full-featured. I'm assuming you are using Atmel Studio, you'll want to look at the TWI (two-wire interface) documentation for doing I2C communication.
AVR315: Using the TWI Module as I2C Master
You can copy TWI_Master.c and TWI_Master.h to your project and use these for I2C communication. That is what I've typically done in the past.
The demo code that goes with this app note can be found here, main.c has an example of the usage of this I2C driver:
AVR315 Demo Code

Resources