Search found 699 matches

by steved
Mon Jul 13, 2020 11:58 am
Forum: ChibiStudio
Topic: ChibiStudio 2020
Replies: 0
Views: 1

ChibiStudio 2020

Should the Chibi plugin in ChibiStudio_2020 work with Chibi 19 applications? Specifically, the trace functionality; the other tabs seem to work. I just get a memory access error. As a minor detail, mousing over the 'Refresh' button in the plugin always says "Refresh Timer List" regardless ...
by steved
Sat Jul 11, 2020 9:15 am
Forum: Bug Reports
Topic: QSPI multiple thread access
Replies: 11
Views: 126

Re: QSPI multiple thread access

The overheads of starting/stopping are not substantial and where there are multiple concurrent applications running the acquire-use-release method is highly preferred by me. I see start/stop and acquisition management as two separate tasks. Given that my current QSPI application does large numbers ...
by steved
Fri Jul 10, 2020 8:53 pm
Forum: Bug Reports
Topic: QSPI multiple thread access
Replies: 11
Views: 126

Re: QSPI multiple thread access

With other peripherals, start() and stop() are called from within the application, rather than within Chibi. This is good for the more straightforward applications (like mine!) where there is no bus/interrupt sharing and power consumption is not critical; just call start() during initialisation, and...
by steved
Fri Jul 10, 2020 1:19 pm
Forum: Bug Reports
Topic: QSPI multiple thread access
Replies: 11
Views: 126

Re: QSPI multiple thread access

That it the idea, erasing is a polled operation so we cannot lock everything. Surely the mutex just blocks the calling thread? Bob's summarised things well; although maybe just assert on FLASH_UNINIT and FLASH_STOP. Initially I thought that the routine could block on the mutex for erase as well as ...
by steved
Thu Jul 09, 2020 4:04 pm
Forum: Bug Reports
Topic: QSPI multiple thread access
Replies: 11
Views: 126

Re: QSPI multiple thread access

I can see the potential need for grouping, and that is something that usually needs to be managed at an application level. My point is really specifically for the NOR-flash QSPI driver - why assert when the driver is busy for any reason (other than erase, which potentially muddies the argument), whe...
by steved
Thu Jul 09, 2020 2:04 pm
Forum: Bug Reports
Topic: QSPI multiple thread access
Replies: 11
Views: 126

QSPI multiple thread access

Maybe this is a matter of design philosophy, but at present it's not possible to do "simultaneous" access of NOR flash on the QSPI bus from multiple threads - an assert is triggered for the second thread. There is already a mutex to manage access to the QSPI bus, which I would think should...
by steved
Thu Jul 02, 2020 6:25 pm
Forum: General Support
Topic: how to synchronize the system clock
Replies: 4
Views: 123

Re: how to synchronize the system clock

Firstly, it appears you haven't registered Giovanni's point that the system clock and the RTC are two different things, and that you cannot adjust the system clock (it's derived from the CPU crystal, if any, and I'm pretty certain there's no method to fine tune the frequency). So you can only adjust...
by steved
Fri Jun 19, 2020 12:28 pm
Forum: Development and Feedback
Topic: STM32 MAC Driver
Replies: 3
Views: 163

Re: STM32 MAC Driver

Thanks for that. Looking more closely at hal_mac.c, there's a difference in the two routines I mentioned in that macWaitReceiveDescriptor() doesn't check the timeout value before suspending. Was that intentional? For now I've changed mine to match macWaitTransmitDescriptor(): msg_t macWaitReceiveDes...
by steved
Fri Jun 19, 2020 10:53 am
Forum: General Support
Topic: bash: ./ch.elf: cannot execute binary file: exec format error chibiOS error
Replies: 5
Views: 181

Re: bash: ./ch.elf: cannot execute binary file: exec format error chibiOS error

Have you compiled the demo to run on a linux system?
Is your processor a Cortex M4?
by steved
Fri Jun 19, 2020 10:49 am
Forum: Development and Feedback
Topic: STM32 MAC Driver
Replies: 3
Views: 163

STM32 MAC Driver

I've just compared the 19.1.3 and trunk support for the Ethernet MAC. Looking at macWaitTransmitDescriptor() and macWaitReceiveDescriptor(), trunk moves the system lock functions from the LLD to the higher level HAL routines. The routines in hal_mac.c now hold the system locked while they wait for a...

Go to advanced search