Re: [beagleboard] Re: Debian Stretch Flavors

2017-12-24 Thread Paul Van den Bergh
https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Stretch_Snapshot_console

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/d965e91b-fe45-45b9-92c0-362a7f1a8372%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Debian Stretch Flavors

2017-12-22 Thread Paul Van den Bergh
Hi All,

On https://elinux.org/BeagleBoard:BeagleBoneBlack_Debian there are four 
kind of 'flavors' of Debian Stretch:

   - Machinekit
   - lxqt
   - iot
   - console

I would like to know which features are supported by the different 
flavors.  Couldn't find info via Google, allas...


Is there some kind of comparisson table for this?  Where can I find more 
info?


In particular, for the current project I'm looking for the minimal system 
without gui (so afaik this eliminates lxqt), but with support for apache, 
MySql, PRU rpmsg.  The main application software (C++) is cross-compiled on 
desktop PC.  For debugging gdb runs on the BBB.  The connection to the BBB 
is over ssh.


Thanks for any input!


Paul

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/d4c86d9b-f3ec-4d00-8beb-5a7dbbd9058f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Cross-compiling and MariaDB

2017-11-23 Thread Paul Van den Bergh
Hi all,

I'm developing a C++ application for the BeagleBone Black on a Debian 
(Linux debian-9-2-1-64 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) 
x86_64 GNU/Linux) machine with foreign-architecture armhf.

The application need access to the BBB's MariaDB.  For this, I need to 
install the armhf headers and libs on the amd64 machine, resulting in this 
messages:

paul@debian-9-2-1-64:~$ dpkg --print-foreign-architectures 
 
armhf  
paul@debian-9-2-1-64:~$ sudo apt-get install mysql-server:armhf
Reading package lists... Done
Building dependency tree   
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-server:armhf : Depends: default-mysql-server:armhf but it is not 
installable
E: Unable to correct problems, you have held broken packages.
paul@debian-9-2-1-64:~$ sudo apt-get install mysql-client:armhf
Reading package lists... Done
Building dependency tree   
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-client:armhf : Depends: default-mysql-client:armhf but it is not 
installable
E: Unable to correct problems, you have held broken packages.


So my question is how to install these files so that development can 
continue?

Thanks,
Paul

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/0d208583-5fbc-4b1b-9ff8-4eab646e8493%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Re: MySQL on Beaglebone Black

2017-11-15 Thread Paul Van den Bergh
Hi Tarmo,

Thanks for your reply.

When I try to open a telnet connection (via putty) to 192.168.1.52 port 
3306, the connection is refused... 




 What are my options to solve this?

Regards,
Paul

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/9259f6bd-3387-43a0-84bb-c773867eb5ee%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [beagleboard] Start pru at boot

2017-10-25 Thread Paul Van den Bergh
OK, thanks, this made it

Can you explain (or give link(s) to explain) what was the problem and how 
update-initramfs... solved it?

Thanks again.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/8baa3282-0ff8-4e2d-b049-b11f3238efab%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Start pru at boot

2017-10-25 Thread Paul Van den Bergh
Hello,

I'm trying to load and start pru firmware at boot time.  I see that the 
images are loaded, but the execution doen't start:

root@beaglebone:~# dmesg | grep pru
[3.620397] ti-pruss 4a30.pruss: creating PRU cores and other child 
platform devices
[3.620598] irq: no irq domain found for /ocp/pruss@4a30/intc@4a32 
!
[3.633760] irq: no irq domain found for /ocp/pruss@4a30/intc@4a32 
!
[3.671299]  remoteproc1: 4a338000.pru1 is available
[3.681586] pru-rproc 4a338000.pru1: booting the PRU core manually
[3.681620]  remoteproc1: powering up 4a338000.pru1
[3.681935]  remoteproc1: Booting fw image am335x-pru1-fw, size 35392
[3.682009]  remoteproc1: remote processor 4a338000.pru1 is now up
[3.682052] pru-rproc 4a338000.pru1: PRU rproc node 
/ocp/pruss@4a30/pru1@4a338000 
probed successfully
[3.690194]  remoteproc2: 4a334000.pru0 is available
[3.696169] pru-rproc 4a334000.pru0: booting the PRU core manually
[3.696201]  remoteproc2: powering up 4a334000.pru0
[3.696513]  remoteproc2: Booting fw image am335x-pru0-fw, size 36296
[3.696585]  remoteproc2: remote processor 4a334000.pru0 is now up
[3.696621] pru-rproc 4a334000.pru0: PRU rproc node 
/ocp/pruss@4a30/pru0@4a334000 
probed successfully
root@beaglebone:~#

I have to manualy do:

root@beaglebone:~# rmmod -f pru-rproc
root@beaglebone:~# modprobe pru-rproc

After doing so the pru's are executing as expected  Is there a way so 
that the firmware starts automatic each boot time?

my environment:

root@beaglebone:~# uname -a
Linux beaglebone 4.4.91-ti-r133 #1 SMP Tue Oct 10 05:18:08 UTC 2017 armv7l 
GNU/Linux
root@beaglebone:~# cat /boot/uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.4.91-ti-r133
#uuid=
#dtb=


###U-Boot Overlays###
###Documentation: 
http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1
###
###Overide capes with eeprom
#uboot_overlay_addr0=/lib/firmware/.dtbo
#uboot_overlay_addr1=/lib/firmware/.dtbo
#uboot_overlay_addr2=/lib/firmware/.dtbo
#uboot_overlay_addr3=/lib/firmware/.dtbo
###
###Additional custom capes
uboot_overlay_addr4=/lib/firmware/BB-UART1-00A0.dtbo
uboot_overlay_addr5=/lib/firmware/BB-I2C1-00A0.dtbo
uboot_overlay_addr6=/lib/firmware/BB-I2C2-00A0.dtbo
uboot_overlay_addr7=/lib/firmware/DCC_V3-00A0.dtbo
###
###Custom Cape
#dtb_overlay=/lib/firmware/.dtbo
###
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
#disable_uboot_overlay_adc=1
###
###PRUSS OPTIONS
###pru_rproc (4.4.x-ti kernel)
uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo
###pru_uio (4.4.x-ti & mainline/bone kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
###
###Cape Universal Enable
enable_uboot_cape_universal=1
###
###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1
###
###U-Boot fdt tweaks...
#uboot_fdt_buffer=0x6
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 quiet video=HDMI-A-1:1024x768@60e

##Example v3.8.x
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Example v4.1.x
#cape_disable=bone_capemgr.disable_partno=
cape_enable=bone_capemgr.enable_partno=BB-UART1,BB-I2C1,BB-I2C2

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

y
root@beaglebone:~# cd /lib
root@beaglebone:/lib# cd firmware/
root@beaglebone:/lib/firmware# ls DC*
DCC_V3-00A0.dtbo  DCC_V3-00A0.dts
root@beaglebone:/lib/firmware# cat DCC_V3-00A0.dts
// This DTS overlay sets up the pins for use by
 // DCC_V3

 // Save this file wherever you want (but I recommend /lib/firmware), as
 // "DCC_V3-00A0.dts".

 // Compile with:
 // dtc -O dtb -I dts -o /lib/firmware/DCC_V3-00A0.dtbo -b 0 -@ 
DCC_V3-00A0.dts

 /dts-v1/;
 /plugin/;

 / {
   // This determines which boards can use this DTS overlay
   compatible = "ti,beaglebone", "ti,beaglebone-green", 
"ti,beaglebone-black";

   // I think part-number is supposed to correspond with the filename,
   // so we'd save this as "PRU-DCC-00A0.dts".
   part-number = "DCC_V3";

   // This always seems to be 00A0, and all the .dtbo files in /lib/firmware
   // seem to be named foo-00A0.dtbo, but then are loaded without that 
suffix.
   version = "00A0";

   // List the pins and resources we'll be using. This table:
   // 
http://elinux.org/Ti_AM33XX_PRUSSv2#Beaglebone_PRU_connections_and_modes
   // shows which pins can be used with PRU0 and PRU1 for input and output 
via
   // registers R31 and R30.
   //
   // Beware: Many other PRU EGP pins are 

[beagleboard] Re: Serial Baudrates

2017-10-10 Thread Paul Van den Bergh



Hi folks,

Finally, I succeeded in resolving this problem:

struct termios2 settings;

m_fdSerial = open(m_pDevice.c_str(), O_RDWR | O_NOCTTY);
if(m_fdSerial < 0)
{
//TODO Daemon has no terminals, use syslog
perror("open");
}

int r = ioctl(m_fdSerial, TCGETS2, );
if(r)
{
perror("ioctl");
}

settings.c_ispeed = settings.c_ospeed = 62500;
settings.c_cflag &= ~CBAUD;
settings.c_cflag |= BOTHER;

r = ioctl(m_fdSerial, TCSETS2, );
if(r)
{
perror("ioctl");
}

while(1)
{
write(m_fdSerial, "U", 1);
}

Running this code an the BBB (after enabling the uart1 overlay) gives this 
output:



This is exactly what was needed. ;)

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/ed39af0a-0a4f-4469-9756-65b790db57bc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Re: Serial Baudrates

2017-10-10 Thread Paul Van den Bergh
*Going to insane concepts now: *

I am faced with this situation just because I need to communicate with an 
AVR device running @ 10MHz.  This 10MHz is required to produce RS485 
signals @ 62500 baud.  However, at a clock rate of 10MHz I'm unable to 
generate 'standard' baud-rates as they are available in Linux.  I can't 
change the RS485 baud rate (Products on the market).  Furthermore my 
prototype pcb's are on the way...

(see also http://www.avrfreaks.net/forum/avr-usart-baudrates#comment-2292516
)

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/e74c103f-5562-4e7b-a3b1-28ffc0a4cbee%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Re: Serial Baudrates

2017-10-10 Thread Paul Van den Bergh
Hi Denis,

Thanks for your reaction.

In  the same baudrates as in your post are mentioned.  However, 
after googling about the topic I'm now investigating in the ioctl() 
function.  For the moment I have this in my code:

/*
 * XpressNetInterface.cpp
 *
 *  Created on: Oct 9, 2017
 *  Author: paul
 */

#include "XpressNetInterface.h"

#include 
#include 
#include 
#include 
#include 

//#include 
#include 

namespace DCC_V3
{
...
XpressNetInterface::XpressNetInterface(const char* pDevice)
: m_pDevice(pDevice)
{
struct termios2 settings;

m_fdSerial = open(m_pDevice.c_str(), O_RDWR | O_NOCTTY);
if(m_fdSerial < 0)
{
//TODO Daemon has no terminals, use syslog
perror("open");
}

int r = ioctl(m_fdSerial, TCGETS2, );
if(r)
{
perror("ioctl");
}

settings.c_ispeed = settings.c_ospeed = 62500;
settings.c_cflag &= ~CBAUD;
settings.c_cflag |= BOTHER;

r = ioctl(m_fdSerial, TCSETS2, );
if(r)
{
perror("ioctl");
}

m_fdStop = eventfd(0, 0);
m_thread = thread([this]
{
threadFunc();
});

}

...
}

This compiles without errors or warnings.  But before I can test it I have 
to investigate in the "never ending story of device tree overlays".

BTW I cannot use one of the PRUSS processors because they are both used for 
other purposes.

Op dinsdag 10 oktober 2017 19:13:30 UTC+2 schreef Dennis Lee Bieber:
>
> On Tue, 10 Oct 2017 09:04:48 -0700 (PDT), Paul Van den Bergh 
> <vdberg...@gmail.com > declaimed the 
> following: 
>
> >Hi all, 
> > 
> >I'm implementing an interface to a commercial product that communicates 
> >over an asynchronous interface at 62500 Baud.  Looking at the  
> >files on the BBB I cannot find this setting.  Is it at all possible to 
> set 
> >up a u(s)art to communicate at this speed?  Is it possible with ioctl()? 
>   
> >Where can I find more info on the later ? 
> > 
> The TI Technical Reference Manual for the SoC used by the BBB. 
> (Page 
> 4320 of SPRUH73P http://www.ti.com/lit/ug/spruh73p/spruh73p.pdf 
>
> Baud rateOver samplingDivisorError (%) 
> 300161
> 0 
>
> 600165000 
>0 
>
> 12001625000 
>
> 24001612500 
>
> 480016625 
>0 
>
> 960016313 
>0.16 
>
> 1440016208
> 0.16 
>
> 1920016156
> 0.16 
>
> 2880016104
> 0.16 
>
> 384001678 
>0.16 
>
> 576001652 
>0.16 
>
> 1152001626
> 0.16 
>
> 2304001613
> 0.16 
>
> 460800138 
>0.16 
>
> 921600134 
>0.16 
>
> 1843200132
> 0.16 
>
> 300161
> 0 
>
> 3686400131
> 0.16 
>
>
>
> No 62500... No MIDI 31250 either  
>
> It might be possible to program one of the PRUs to emulate a UART 
> at 
> the needed speed. (Unless I stuffed a few too many zeros in it, I'm coming 
> up with over 3000 PRU instructions per bit ) 
> -- 
> Wulfraed Dennis Lee Bieber AF6VN 
> wlf...@ix.netcom.com HTTP://wlfraed.home.netcom.com/ 
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/8e489e71-873f-4eb2-9b9f-6e30ecbb1102%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Serial Baudrates

2017-10-10 Thread Paul Van den Bergh
Hi all,

I'm implementing an interface to a commercial product that communicates 
over an asynchronous interface at 62500 Baud.  Looking at the  
files on the BBB I cannot find this setting.  Is it at all possible to set 
up a u(s)art to communicate at this speed?  Is it possible with ioctl()?  
Where can I find more info on the later ?

Thanks for your replies. 

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/4b7f4332-554b-42e0-b761-1a390a2f9074%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Debian <--> PRUSS communication

2017-08-29 Thread Paul Van den Bergh
Hello,

Since I'm new to this forum, I will introduce myself.  I'm C/C++ software 
engineer and have experience with, among other things, Atmel AVR and SAM 
(Cortex) .  Recently I started playing with embedded Linux (Raspberry Pi 
and Beaglebone Black) as a hobby project.  My goal is to develop a DCC 
Central 
using the Beaglebone Black platform.

I'm using Code Composer Studio V7 (on Windows) to write, compile and debug 
code on the BBB (for the pru using a Blackhawk USB100v2 JTAG emulator).  On 
the BBB I flashed the latest IoT release :

debian@beaglebone:~$ uname -a
Linux beaglebone 4.4.84-ti-r120 #1 SMP Sun Aug 27 03:11:07 UTC 2017 armv7l 
GNU/Linux
debian@beaglebone:~$ cat /etc/dogtag
BeagleBoard.org Debian Image 2017-08-24
debian@beaglebone:~$

The BBB is plugged in a Newhaven 7" LCD cape (functional in character 
mode), but I cannot see the cape loaded :

debian@beaglebone:~$ cat /sys/devices/platform/bone_capemgr/slots
 0: ---l--  -1
 1: --  -1
 2: ---l--  -1
 3: ---l--  -1
debian@beaglebone:~$

Since I can compile C code in CCS and debug PRU code on the device, I *think 
*the pru's are operational :

debian@beaglebone:~$ lsmod | grep pru
pru_rproc  15879  2
pruss_intc  9009  1 pru_rproc
pruss  12346  1 pru_rproc
debian@beaglebone:~$

Now I'm looking into ways to write a linux app that can communicate with 
the PRU firmware.  Am I correct in assuming that rpmsg is the way to go ?  
After google-ing a lot and reading about the subject, I try to run this 
code :

int main(void)
{
struct pru_rpmsg_transport transport;
uint16_t src, dst, len;
volatile uint8_t *status;

/* Allow OCP master port access by the PRU so the PRU can read external 
memories */
CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;

/* Clear the status of the PRU-ICSS system event that the ARM will use 
to 'kick' us */
CT_INTC.SICR_bit.STS_CLR_IDX = FROM_ARM_HOST;

/* Make sure the Linux drivers are ready for RPMsg communication */
status = _vdev.status;
while (!(*status & VIRTIO_CONFIG_S_DRIVER_OK));

/* Initialize the RPMsg transport structure */
pru_rpmsg_init(, _vring0, 
rpmsg_vring1, TO_ARM_HOST, FROM_ARM_HOST);

/* Create the RPMsg channel between the PRU and ARM user space using 
the transport structure. */
while (pru_rpmsg_channel(RPMSG_NS_CREATE, , CHAN_NAME, 
CHAN_DESC, CHAN_PORT) != PRU_RPMSG_SUCCESS);

while(1)
{
/* Check bit 30 of register R31 to see if the ARM has kicked us */
if (__R31 & HOST_INT)
{
/* Clear the event status */
CT_INTC.SICR_bit.STS_CLR_IDX = FROM_ARM_HOST;
/* Receive all available messages, multiple messages can be 
sent per kick */
while (pru_rpmsg_receive(, , , payload, ) 
== PRU_RPMSG_SUCCESS)
{
// Process payload here

/* Echo the message back to the same address from which we 
just received */
pru_rpmsg_send(, dst, src, payload, len);
}
}
}
}

However, this sequence loops at  while (!(*status & 
VIRTIO_CONFIG_S_DRIVER_OK)); 

I suppose there is some driver missing or not running, but have no idea 
which one...

Any help is appreciated !!

Thanks in advance,

Paul


-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/fcee700f-6b77-43c2-9d54-6713ab5fece9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] Debian Wheezy LCDC without HDMI Framer

2015-11-30 Thread Paul Van den Bergh
Hi All,

After developing programs using Starterware I'm now trying to develop Linux 
applications (VisualGDB).  I have no experience with Linux development, but 
I'm quite fluid with C/C++.

The first problem is that nothing appears on my LCD display, connected 
directly to the P8/P9 connectors (This works fine under Starterware).
So my question is where can I configure Debian Wheezy to use the LCDC 
peripheral without using the HDMI-Framer to get timing and/or screen 
settings?

This is my configuration of the LCDC peripheral under bare metal C/C++:

NHD_70_800480EF_ATXV_CPT::NHD_70_800480EF_ATXV_CPT()
:Display(LCD_WIDTH, LCD_HEIGHT)
,m_pLCDC(LCDC::getInstance())
,m_pEDMA(EDMA::getInstance())
{
m_pEDMA->Init(0);
m_pLCDC->ModuleClkConfig();

m_pLCDC->PinMuxSetup();

m_pLCDC->ClocksEnable();

m_pLCDC->Disable();

m_pLCDC->ClkConfig(3000, 19200);

m_pLCDC->DMAConfig(RASTER_SINGLE_FRAME_BUFFER,
//m_pLCDC->DMAConfig(RASTER_DOUBLE_FRAME_BUFFER,
RASTER_BURST_SIZE_16, RASTER_FIFO_THRESHOLD_8,
RASTER_BIG_ENDIAN_DISABLE);

m_pLCDC->ModeConfig(RASTER_DISPLAY_MODE_TFT_UNPACKED,
 RASTER_PALETTE_DATA, RASTER_COLOR, RASTER_RIGHT_ALIGNED
);

m_pLCDC->Timing2Configure(RASTER_FRAME_CLOCK_LOW |
 RASTER_LINE_CLOCK_LOW  |
 RASTER_PIXEL_CLOCK_HIGH |
 RASTER_SYNC_EDGE_RISING|
 RASTER_SYNC_CTRL_INACTIVE|
 RASTER_AC_BIAS_HIGH , 0, 255);

m_pLCDC->HparamConfig(LCD_WIDTH, 48, 40, 88);
m_pLCDC->VparamConfig(LCD_HEIGHT,  3, 13, 32);

m_pLCDC->FIFODMADelayConfig(128);

*(uint32_t*)&(m_pixBuf[0].Palette_0) = 0x4000;
memset(m_pixBuf[0].Unused, 0x00, 28);

*(uint32_t*)&(m_pixBuf[1].Palette_0) = 0x4000;
memset(m_pixBuf[1].Unused, 0x00, 28);

m_pLCDC->DMAFBConfig((uint32_t)&(m_pixBuf[0]), ((uint32_t)&(m_pixBuf
[0])) + (m_Width * m_Height * 4), 0);
//m_pLCDC->DMAFBConfig((uint32_t)&(m_pixBuf[1]), 
((uint32_t)&(m_pixBuf[1])) + (m_Width * m_Height * 4), 1);

spDisplay = this;

INTC* pIntc = INTC::getInstance();
pIntc->Register(SYS_INT_LCDCINT, NHD_Isr);
pIntc->PrioritySet(SYS_INT_LCDCINT, 0, AINTC_HOSTINT_ROUTE_IRQ);
pIntc->SystemEnable(SYS_INT_LCDCINT);

m_pLCDC->IntEnable(RASTER_END_OF_FRAME0_INT);
m_pLCDC->Enable();

ClrScreen();
}

I 'think' that te most important settings are:

   - Timing


   - HParams


   - VParams

Any suggestions are welcome,


Paul

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[beagleboard] BBB, Eclipse and GNU arm-none-eabi

2015-06-09 Thread Paul Van den Bergh

Hi all,

I'm new to beaglebone black development.  I have experience with Atmel SAM 
arm development in C/C++.  I upgrade to the BeagleBone platform for 
performance reasons (and because I think it is a lot of fun ;) )

I started with compiling the Starterware code in CCS, and now I'm switching 
to Eclipse  GNU ARM-none-eabi because I'm using a Segger J_Link JTag and 
that debugger is only supported by CCS for 90 days (evaluation).

I have the following question : How can I specify that my bare metal C/C++ 
code will load into the DDR3 address space ?  AKAIK I need to write my own 
.ld linker script specifying MEMORY and SECTIONS, But I have no idea how to 
figure out which sections the compiler generates.  I have to tell the 
bootloader where to jump into the C/C++ startup code, which will further 
call my main function.  For the later, I think I'm able to modify the MLO 
code (from StarterWare).

Any suggestions are welcome !

Thanks in advance,

Paul

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
BeagleBoard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.