Skip to content

imxrt - interrupt serial storm, add DTCM and set up I and D cache #175

Merged
patacongo merged 11 commits intoapache:pr175from
nuttx-to-asf:master_imxrt_dec-jan
Jan 29, 2020
Merged

imxrt - interrupt serial storm, add DTCM and set up I and D cache #175
patacongo merged 11 commits intoapache:pr175from
nuttx-to-asf:master_imxrt_dec-jan

Conversation

@davids5
Copy link
Copy Markdown
Contributor

@davids5 davids5 commented Jan 28, 2020

  • imxrt:serial:Fix interrupt serial storm
  • imxrt:serial: Conditionally enable 9 bit mode
  • imxrt:Enable MPU for non protected builds to set cache
    Found out the imx does not configure the cache for the memory map
  • imxrt:Allow DTCM on HEAP

ran nxstyle ignored the errors for imxrt_mpuinit.c and mpu.h that look like the tool is confused.

Built 1020, 1050, 1060 evk - passed

  The target would randomly hang in the serial isr.
  The priv->ie and the hardware were inconsistent.
  The isr used the priv->ie to gate offloading
  the RX data. Bang! Hung.

              imxrt_disableuartint(priv, &ie);
              ret = imxrt_setup(dev);

              /* Restore the interrupt state */

              imxrt_restoreuartint(priv, ie);
   interrupt->  Of no return
              priv->ie = ie;

   On a fast cpu with FIFO, this will not work
   with out proper protections.
   Preserve the existing API and enabed better granualriy on
   setting.
@patacongo
Copy link
Copy Markdown
Contributor

It is late here. I will review / merge in the morning.

@davids5
Copy link
Copy Markdown
Contributor Author

davids5 commented Jan 28, 2020 via email

@jerpelea
Copy link
Copy Markdown
Contributor

+1

Comment thread arch/arm/src/imxrt/imxrt_allocateheap.c Outdated
Co-Authored-By: Abdelatif Guettouche <abdelatif.guettouche@gmail.com>
@patacongo patacongo changed the base branch from master to pr175 January 29, 2020 13:19
@patacongo patacongo merged commit 6b513a1 into apache:pr175 Jan 29, 2020
patacongo pushed a commit that referenced this pull request Jan 29, 2020
* Serial Fixed interrupt storm

  The target would randomly hang in the serial isr.
  The priv->ie and the hardware were inconsistent.
  The isr used the priv->ie to gate offloading
  the RX data. Bang! Hung.

                  imxrt_disableuartint(priv, &ie);
                  ret = imxrt_setup(dev);

                  /* Restore the interrupt state */

                  imxrt_restoreuartint(priv, ie);
       interrupt->  Of no return
                  priv->ie = ie;

   On a fast cpu with FIFO, this will not work
   with out proper protections.

* Serial: Conditionally enable 9 bit mode

* armv7-mi/mpu.hi: Restructure API

   Preserve the existing API and enabled better granualriy on
   setting.

* Enable MPU for non protected builds to set cache

* mpuinit use symbolic values for addresses

* Allow DTCM on HEAP

* allocateheap Fix Coding style
chengguizi pushed a commit to nusrobomaster/nuttx that referenced this pull request Jan 2, 2021
…D cache (apache#175)

* Serial Fixed interrupt storm

  The target would randomly hang in the serial isr.
  The priv->ie and the hardware were inconsistent.
  The isr used the priv->ie to gate offloading
  the RX data. Bang! Hung.

                  imxrt_disableuartint(priv, &ie);
                  ret = imxrt_setup(dev);

                  /* Restore the interrupt state */

                  imxrt_restoreuartint(priv, ie);
       interrupt->  Of no return
                  priv->ie = ie;

   On a fast cpu with FIFO, this will not work
   with out proper protections.

* Serial: Conditionally enable 9 bit mode

* armv7-mi/mpu.hi: Restructure API

   Preserve the existing API and enabled better granualriy on
   setting.

* Enable MPU for non protected builds to set cache

* mpuinit use symbolic values for addresses

* Allow DTCM on HEAP

* allocateheap Fix Coding style
Shunichi-K pushed a commit to SPRESENSE/nuttx that referenced this pull request Nov 7, 2022
Add critical section to scu one-shot sequencer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants